【问题标题】:How do I dynamically create rows and columns using Bootstrap/Angular2?如何使用 Bootstrap/Angular2 动态创建行和列?
【发布时间】:2017-02-03 08:40:09
【问题描述】:

我需要使用 *ngFor 并将内容从组件插入到我的 DOM 中,具体取决于内容数组的动态大小。

我正在尝试实现这种结构:一行在 lg-12 上有 3 个元素,在 md/sm 上有 2 个元素,在 xs 上有 1 个元素,但事先不知道将从后端的列表中抽取多少事件项询问。例如,静态编码的一行看起来像这样,但是如果我添加第二行,那么当它在 md/sm 上折叠为 2 时,一行上有 2 个元素,第二行有一个元素,并且重复而不是 2 个元素在每一行上,所以它看起来很愚蠢。

  <div class="eventList container-fluid" id="eventList">
        <div class="row">
            <div class="col-lg-12">
                  <app-event [event]="event"></app-event>
                  <app-event [event]="event"></app-event>
                  <app-event [event]="event"></app-event>
            </div>
        </div>
    </div>

其中每个元素app-event元素是:

  <div class="col-md-4 col-sm-6 col-xs-12 single-event-item eventResult"> 
    ... content
    </div>

【问题讨论】:

    标签: twitter-bootstrap angular ngfor


    【解决方案1】:

    试试这个:

    模板

    <div class="eventList container-fluid" id="eventList">
        <div class="row">
            <div class="col-lg-12">
                  <app-event *ngFor="let event of events" [event]="event"></app-event>
            </div>
        </div>
    </div>
    

    组件(您在其中检索事件)

    这是一个示例,因为您没有提及如何检索事件。

    add(event): void {
        this.someService.create(event)
          .then(event => {
            this.events.push(event); //update your array of events
          });
      }
    

    【讨论】:

    • 谢谢!是的,该模板代码非常接近我编写且未经测试的代码(div class="col-lg-12", app-event *ngFor="let event of events" [event]="event" /app-event (跨度>
    • 如何将您的答案标记为该主题的答案?我看不到执行此操作的按钮?也许我的声誉太低,无法使用该功能。
    • 我不知道。如果答案解决了您的问题,那就太重要了:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-18
    • 1970-01-01
    相关资源
    最近更新 更多