簡體   English   中英

angular ngModel 綁定無法正常工作

[英]angular ngModel binding not working properly

我的 class 中有 2 個列表,我有一個函數,它從第一個數組中獲取一個元素並將其推送到第二個數組。我的問題是如果我更改第二個數組的元素,第一個數組中的相同元素得到更改我嘗試了onchange function 和 [(ngModel)]

<div >
                <p>{{item.name}}</p>
                <p [hidden]="true" id={{item.name}} >
                    <input   type="text" (change)=t($event,item.id) >
                </p>
              </div>


t(event,id:number)
{
  console.log(event.target.value);
  this.nodes2.find(a=>a.id===id).name=event.target.value;


}

//use this for pushing item
  droppp(ev) {
    ev.preventDefault();
    //console.log(this.dragedElement)
    var nodtmp:ExampleFlatNode[];
    nodtmp=this.nodes2;
    nodtmp.push(this.dragedElement);
    this.nodes2=nodtmp;

  }

拖動object的屬性值改變問題與ngModel無關,onChange事件也沒有。 問題是因為您沒有復制 object 本身,而只是復制它的參考。 在 drop function 中不要推送 object this.dragedElement但將其更改為看起來像nodtmp.push({...this.dragedElement})這應該創建一個已刪除的 ZA8CFDE6331BD59EB26666F8911ZC4 的副本。 如果您需要 object 的更深副本,請使用帶有deepClone function 的lodash庫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM