Angularjs onChanges不使用组件绑定
我有一个组成部分:Angularjs onChanges不使用组件绑定,angularjs,Angularjs,我有一个组成部分: @Component('Umbrella', { selector: 'attachment-list', templateUrl: '/AttachmentListComponent/AttachmentList.html', bindings: { mediaIds: '<', } }) public $onChanges() { console.log(this.mediaIds); } 以及将上载文件的i
@Component('Umbrella', {
selector: 'attachment-list',
templateUrl: '/AttachmentListComponent/AttachmentList.html',
bindings: {
mediaIds: '<',
}
})
public $onChanges() {
console.log(this.mediaIds);
}
以及将上载文件的id推送到mediaIds
数组的方法
private setMediaIds(mediaId: Guid) {
this.mediaIds.push(mediaId);
}
模板:
<attachment-list
media-ids='vm.mediaIds'
></attachment-list>
上载的文件id已正确添加到caseFlowComponent
中的this.mediaIds
数组中,但附件列表中未调用$onChanges
我认为更新组件绑定时,$onChanges
应该可以工作。$onChanges
比较引用。你的选择是:
- 始终创建新阵列
- 添加另一个输入以触发更改
- 手动运行手表
哪个角度版本?AngularJS版本1.7.8参考是否不同?在CaseFlowComponent中,mediaIds数组有25个对象,AttachmentListComponent有24个对象。Hm看起来像是在将对象推入MediaID数组之前清除该数组会触发onChanges。有一个数组,它首先有24个项目,然后是25个项目。如果你把ng repeat--u放进去,你会看到这个项被添加了,但这不会触发onChanges,因为它仍然是同一个数组。啊,我明白了。参考文献相同,但内容不同。
<attachment-list
media-ids='vm.mediaIds'
></attachment-list>