Material2 - 同一页面上的两个动态md表,不起作用

时间:2017-08-11 07:06:37

标签: angular angular-material2

为什么我在同一页面上添加两个组件,那些组件“不”相同?但只有这首先在顶部

像这样:

<dependency>
    <groupId>org.json</groupId>
    <artifactId>json</artifactId>
    <version>20140107</version>
</dependency>

https://plnkr.co/edit/YFL0wdGGXrwtjs4Exrx1?p=preview

1 个答案:

答案 0 :(得分:0)

原因是您使用的是ViewChild。它获取指定元素的第一个实例。您需要使用ViewChildren代替并迭代所有并更新。

  

在您的plunker代码中,将@ViewChild行更改为:

@ViewChildren(TableCartComponent) tableCarts: QueryList<TableCartComponent>
  

...并且您的addEvent方法将成为:

    addEvent() {
        this.tableData.push({
            lp: this.tableData.length + 1,
            name: "name like...",
            code: "1111",
            color: "blue",
            size: "S",
            price: "99.99"
        });
        this.tableCarts.forEach(tableCart => tableCart.update());
        //this.TableCart.update();
    }

以下是更新后的PLUNKER DEMO

的链接