在发布到我的服务器时,我对实现双向数据绑定的方式有些困惑。
我这样定义我的资源:
angular.module('todoServices', ['ngResource']).
factory('Todo', function($resource){
return $resource('api/v1-0/todos/:todoId', {}, {
query: {method: 'GET', params:{todoId:''}, isArray: true},
save: {method: 'POST', isArray: true}
});
})
我将 Todo 资源作为依赖项传递给我的控制器。
然后在我的控制器中,我有一个方法可以将一个新的 Todo 项目添加到我的列表中:
$scope.addTodo = function() {
var savedModel = new Todo();
savedModel.title = $scope.title;
savedModel.description = $scope.description,
//...
savedModel.$save();
$scope.todos.push(savedModel);
}
只要我的待办事项出现在列表中,这就是有效的,对服务器的调用有效并且该项目被添加到我的数据库中。但是,因为当我将它推送到我的列表时,它还没有 ID。ID 由我的 MySQL 数据库中的自动增量 ID 生成。我的服务器以 JSON 格式返回对象,所以我假设,我必须指定某种回调函数才能使数据绑定工作?我到底需要做什么,所以一旦我的服务器返回数据,我添加的待办事项就会更新为正确的 ID?