Angular 4组件双向绑定问题

前端之家收集整理的这篇文章主要介绍了Angular 4组件双向绑定问题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个数组:
const a = [apple,ball,cat]

我将它传递给两个组件:

<app-header [appData]="data"  ></app-header>

<list-todo [appData]="data" [getData]="getData" [setData]="setData" ></list-todo>

在appHeader组件中,

export class appHeader  {
  @Input('appData') data : any

  clear(){
    this.data = []
  }
}

执行clear()函数不会影响listTodo组件中的数组.有什么方法可以解决这个问题吗?

我还检查了两种方式绑定属性,但没有任何工作了!

通过执行this.data = [],您不会清空您的数组,而是将其替换为新实例.您的父组件和另一个子组件仍然引用原始实例,这会导致您描述的行为.

一种解决方案是清空原始数组而不是替换它:

clear() {
    this.data.length = 0;
}

这样,所有组件将继续引用相同的数组实例,并且将正确反映其状态.

原文链接:https://www.f2er.com/angularjs/140838.html

猜你在找的Angularjs相关文章