在角火文档中,下面是我想要理解的两行:
// To make the data available in the DOM, assign it to $scope
$scope.data = obj;
// For three-way data bindings, bind it to the scope instead
obj.$bindTo($scope, "data");他们在做同样的事吗?对于三种数据绑定,两者都绑定到作用域吗?
发布于 2016-02-26 08:58:42
不,他们不是在做同样的事。那将是一个相当愚蠢的API。:-)
运行$scope.data = $firebaseObject(ref)会将Firebase位置中的数据绑定到作用域。对Firebase数据库中的数据的任何更新都将自动反映在范围中,因此--如果您将一个HTML绑定到$scope.data --也会在屏幕上更新。流程是单向的:从数据库到屏幕。
调用obj.$bindTo($scope, "data")既可以将Firebase位置中的数据绑定到作用域,也可以侦听对$scope.data的更改,然后将其自动发送回Firebase数据库。因此,这创造了一个双向的,三向绑定。HTML中的更新被发送到数据库,对数据库的更新被发送到屏幕。
所有这些都有很好的文档记录,例如在这篇博客文章火基与角度的三向数据绑定中。常规的AngularFire文档还包含了关于三向数据绑定的一个很好的部分。
https://stackoverflow.com/questions/35633991
复制相似问题