加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Angular 4组件双向绑定问题

发布时间:2020-12-17 09:16:36 所属栏目:安全 来源:网络整理
导读:我有一个数组: const a = [apple,ball,cat] 我将它传递给两个组件: app-header [appData]="data" /app-headerlist-todo [appData]="data" [getData]="getData" [setData]="setData" /list-todo 在appHeader组件中, export class appHeader { @Input('appDa
我有一个数组:
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;
}

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读