0
在我的控制器,我有一個變量:AngularJS刪除元素時值改變
$scope.myVar = { "id": 13459045, "firstName": "Joe", "lastName": "McCarthy", "createdBy": 0, "status": "active", "dollarValue": 0 }
在我的網頁,我已經輸入字段映射到變量:
<input ng-model="myVar.id" class="checknumberrange" />
在「checknumberrange」類是一個指令,用於解析輸入值以在輸入字段和模型中設置數值。在處理這條指令時,變量$ scope.myVar中的一些元素將從變量中移除。
$scope.myVar = { "firstName": "Joe", "lastName": "McCarthy", "createdBy": 0, "status": "active", "dollarValue": 0 }
在該指令的情況下,我發現,沒有被提供一個返回值時被移除的值,但你會認爲,這將設置鍵爲空值,無法刪除從變量完全配對。這發生在我的項目的其他部分,並且當您在輸入字段中寫入時,值將回來(僅可能再次被刪除),但我不明白爲什麼會發生這種情況。使用角1.2.0 RC3,以下html:
<input ng-model="myVar.dollarValue" ng-blur="myVar.dollarValue=myVar.dollarValue.toFixed(2)" />
不會允許我更改值。更改該值將立即從變量中刪除配對,並且如果將焦點置於輸入字段,然後在其他地方,則第一次該字段將從'0'更新爲'0.00',並且第二次將導致配對被刪除。
我真的很想理解爲什麼配對被刪除,所以我可以防止這種情況發生在我的工作中。
至少對於我來說,它不清楚你問什麼,你能不能請張貼小提琴/ Plunker您的問題? –
告訴我們你的checknumberrange指令的執行情況 – bekite
**更新:** http://plnkr.co/edit/0LGd6z?p=preview這是一個通過ng-blur顯示刪除配對之一的調用者。該指令非常長,但是當我使用'modelCtrl。$ setViewValue(var)時做了同樣的事情。 。modelCtrl $渲染();」而不提供隨ModelCtrl更改而返回的值。 – C1pher