我有一个组件:
@Component('Umbrella', {
selector: 'attachment-list',
templateUrl: '/AttachmentListComponent/AttachmentList.html',
bindings: {
mediaIds: '<',
}
})
public $onChanges() {
console.log(this.mediaIds);
}
我在CaseFlowComponent
中使用该组件:
组件:
我有一个上传方法:
public upload = (file: File) => {
if (!file || !this.state.caseHistory) return;
this.uploadService
.upload({
url: this.actionUrl,
data: { file },
method: 'POST'
})
.then((result: any) => {
this.state.caseHistory.media.push(result.data);
this.setMediaIds(result.data.id);
});
};
还有一种将上传文件的ID推送到mediaIds
数组的方法。
private setMediaIds(mediaId: Guid) {
this.mediaIds.push(mediaId);
}
模板:
<attachment-list
media-ids='vm.mediaIds'
></attachment-list>
已将上传的文件ID正确添加到this.mediaIds
中的caseFlowComponent
数组中,但是$onChanges
组件中未调用attachment-list
。
我认为$onChanges
应该在组件绑定更新时起作用。
答案 0 :(得分:0)
$onChanges
比较引用。您的选择是: