我是 AngularFire 的新手,正在尝试理解一个简单的概念。如果您通过位于以下网址的 AngularFire 教程:http: //angularfire.com/tutorial/index.html#gettingstarted有一个使用 AngularFire 构建原始“聊天”应用程序的基本示例。
该教程非常简洁明了,但我不明白其中的一个要点:
function MyCtrl($scope, angularFire){
$scope.messages = [];
var ref = new Firebase("https://<xxxxxx>.firebaseio.com/messages");
angularFire(ref, $scope, 'messages');
$scope.messages = []; //shouldn't this clear the data locally and remotely?
}
问题是首先创建了一个模型,然后设置了 AngularFire 的绑定魔法,这样现在就有了一个与模型的 3 路绑定。如果 Firebase 中已经存储了一组数据,则会获取并同步该数据,您的模型现在将在本地拥有这些数据。
我根本不明白的是,当控制器代码运行时,假设我在 angularFire 绑定连接后将模型设置为空数组,为什么 Firebase 数据没有被清除?没关系,刷新页面基本上会一直清除数据(我想要的行为)。
现在,如果我将 ng-click 事件连接到一个按钮,我可以让这个行为起作用,该按钮调用在我的 $scope 对象上定义的名为 clear 的方法。如果在该方法内,我只需调用:$scope.messages = [];,然后我的模型在本地和远程清除。
但是为什么这对初始化不起作用?
帮助总是受到赞赏。