程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了NbDialog 上的 ngModel 是只读的吗?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决NbDialog 上的 ngModel 是只读的吗??

开发过程中遇到NbDialog 上的 ngModel 是只读的吗?的问题如何解决?下面主要结合日常开发的经验,给出你关于NbDialog 上的 ngModel 是只读的吗?的解决方法建议,希望对你解决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,请注明来意。
标签:上的