大佬教程收集整理的这篇文章主要介绍了NbDialog 上的 ngModel 是只读的吗?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我想通过单击按钮从组件中打开一个对话框,并将一些数据传递给该对话框。关闭对话框时,我希望数据返回到父组件以发送到服务器。
在我的父组件中,我有:
<ng2-smart-table
[setTings]="setTings"
[source]="data"
(editConfirm)="onEditRowSELEct($event)">
</ng2-smart-table>
onEditRowSELEct(event) {
this.dialogservice.open(MyDialogComponent,{
context: {
title: 'Dialog title',data: this.data // this is an Object
},});
}
我的对话框在另一个组件中:
@input() title: String;
@input() data: any;
constructor(protected ref: NbDialogRef<MyDialogComponent>) {
console.log(data)
}
cancel() {
this.ref.close();
}
submit() {
this.ref.close({ newData: data });
}
<nb-card>
....
<div>
<input #name type="text" nbinput placeholder="name" [(ngModel)]="data.user.name">
</div>
....
</nb-card>
<!-- TEST
<pre>{{data | Json}}</pre>
-->
因此,输入预先填充了来自父组件的“名称”,但是当我尝试修改名称时,“数据”模型不会改变,并且出现如下错误:
CAnnot assign to read only property 'name' of object '[object Object]'
我通过深度克隆对象“数据”并将其用作 ngModel,然后将其作为 newData 发送回父级来使其工作......但是......我真的不喜欢这个解决方案,它不可能是这样做的正确方法。
有什么帮助吗?谢谢
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
以上是大佬教程为你收集整理的NbDialog 上的 ngModel 是只读的吗?全部内容,希望文章能够帮你解决NbDialog 上的 ngModel 是只读的吗?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。