【发布时间】:2019-02-28 02:07:55
【问题描述】:
我有一个数组变量,其中包含对象,就像这样:
[{name: 'Name 1', price: '10$'}, {name: 'Name 2', price: '20$'}, ...]
我有一个视图,它打印出产品列表,如下所示:
<div *ngFor="let item of items">
{{item.name}} - {{item.price}}
</div>
这只是一个例子,但问题的“模型”是相同的:
如果我从代码中更改“项目”数组(例如,因为发生了外部事件),变量值会发生变化,但视图不会刷新:(。
我怎样才能做到这一点?
编辑:
changeArray() 只包含一行:
changeArray(items) : void{
this.items = items;
}
也许问题是,我从另一个组件调用 A 的这个方法? 所以,在组件'B'中,我有这样一行:
a.changeArray(items);
【问题讨论】:
-
向我们展示
items数组是如何在您的代码中修改的。 -
我有一个组件“A”,我从组件“B”调用 A.changeArray() 函数。变量 a.items 会发生变化,但视图不会更新。
-
在问题中包含
changeArray()的代码。 -
你是如何在 B 的构造函数中引用组件 A 的?请显示代码的相关部分以便于调试
-
我强烈建议你使用输入和输出。我不推荐从孩子那里调用方法。它会产生各种复杂性和副作用。除此之外,在什么样的事件中,您将方法称为
changeArray?
标签: javascript angular typescript binding