所以我有这段代码,它处理模型的更新
// Edit todo.
$scope.editTodo = function(todo) {
var newTitle = prompt('Edit todo', todo.title);
if (newTitle) {
todo.title = newTitle;
todo.$update();
socket.emit('update_todo', todo);
}
}
'todo' 参数是从视图发送的。
然后我有这段代码,它监听“update_todo”事件,并更新其他活动套接字/客户端上的模型视图。
socket.on('todoUpdated', function(data) {
for (var i in $scope.todos) {
if ($scope.todos[i]._id == data._id) {
$scope.todos[i] = data;
}
}
});
但是,假设我刚刚在“client1”切换到“client2”中编辑了一个模型,并尝试编辑相同的模型,我收到以下错误:
TypeError: Object #<Object> has no method '$update'
该怎么办?而且,是否有更智能/更好的方法来更新模型视图而不是执行 for 循环?非常感谢您的帮助:)