假设我有一个项目列表:
列表.html
<div ng-repeat="item in items">
<span ng-click="editItem(item)">{{item.title}}</span><br>
</div>
我想编辑其中之一:
.controller('adminCtrl', ["$scope", "angularFireCollection", function($scope, angularFireCollection) {
var ref = new Firebase("https://example.firebaseio.com/articles");
$scope.items = angularFireCollection(ref);
$scope.editItem = function(item){
$scope.item = item;
$scope.updateView('form');
}
$scope.updateItem = function(item){
$scope.items.update(item);
$scope.updateView('list');
}
$scope.goBack = function(){
$scope.updateView('list');
}
}]);
单击editItem(item)
切换form.html
部分:
表单.html
<div>
<button type="button" ng-click="goBack()">Go Back</button>
<input type="text" ng-model="item.title">
<button type="button" ng-click="updateItem(item)">Save</button>
</div>
如果我编辑我当前的项目并且goBack()
在updateItem(item)
这些更改在本地传播之前 - 但显然不应该因为我尚未更新记录。
如何将传入的 firebase 对象与其设置editItem(item)
的变量分离?$scope.item