0
我有一個服務,其中有一個來自API的複雜對象,例如,如何將對象重置爲其原始值並在AngularJS中保持綁定
{
name: "Foo",
addr: {
street: "123 Acacia Ave",
zip: "10010"
}
}
我將其存儲在myService.address和使用
myService.originalAddr = angular.copy(myService.addr);
在另一個變量的初始值,所以我可以,如果需要的形狀恢復到初始值。
在我的指令的控制器我注入了服務,並綁定一個作用域屬性myService.addr
$scope.addr = myService.addr;
......據我所知,這應該建立雙向綁定。
時,在另一個指令,我運行一個函數:
$scope.reset = function(){
myService.addr = angular.copy(myService.originalAddr);
}
可正常工作和myService.addr被重置爲初始值。但是,我在表單中綁定的值未被重置,並且$ scope.addr保持原樣。我一直在使用
<input type="text" ng-bind="addr.street"/>
,並試圖
<input type="text" ng-model="addr.street"/>
但在形式值保持不管他們編輯成和不復位。看起來angular.copy正在斷開綁定。請問我做錯了什麼?
代碼和說明,比文字更好..請改善你的問題 – Maher