AngularJS + Hoodie:如何做一个正确的数据流?
AngularJS + Hoodie: How to do a correct data flow?
我想结合使用 AngularJS 和连帽衫,但我不确定如何以正确的方式进行。
假设我有一个基本的 AngularJS 控制器
app.controller("c", function($scope) {
$scope.table = [];
$scope.onAdd = function(newEntry) {
$scope.table.push(newEntry);
};
});
点击例如后
<button ng-click="onAdd('test');">add</button>
一切正常。但是现在我想使用连帽衫。目前我正在尝试这个:
app.controller("c", function($scope) {
$scope.table = [];
$scope.onAdd = function(newEntry) {
$scope.table.push(newEntry);
};
hoodie.store.on('entries:add', $scope.onAdd);
});
以及任何地方:hoodie.store.add("entries", tmpObject);
onAdd()
被调用并插入到 table
数组中(在开发者控制台中验证),但是 我的 html table(通过 ng-repeat="entry in table"
)未更新。
第一个问题:你知道为什么吗?我觉得哪里不对?
第二个问题:结合Hoodie和AngularJS有什么好的方法?在 table 上 $watch
并在其中插入项目并在更改后通过 Hoodie 存储它会更好还是相反,然后将新项目添加到 hoodie.store 然后on("entries:add") 做一些 Angular 事情?
提前致谢!
嘿嘿=)
首先:如果您通过 'external' 事件更新数据结构(在本例中为连帽衫),您需要触发摘要循环,例如$rootScope.$apply();
其次:有一篇hoodie-angular-plugin是我和Elmar写的。这解决了您的大部分基本任务。在这种情况下,这将是最简单的方法。
我想结合使用 AngularJS 和连帽衫,但我不确定如何以正确的方式进行。 假设我有一个基本的 AngularJS 控制器
app.controller("c", function($scope) {
$scope.table = [];
$scope.onAdd = function(newEntry) {
$scope.table.push(newEntry);
};
});
点击例如后
<button ng-click="onAdd('test');">add</button>
一切正常。但是现在我想使用连帽衫。目前我正在尝试这个:
app.controller("c", function($scope) {
$scope.table = [];
$scope.onAdd = function(newEntry) {
$scope.table.push(newEntry);
};
hoodie.store.on('entries:add', $scope.onAdd);
});
以及任何地方:hoodie.store.add("entries", tmpObject);
onAdd()
被调用并插入到 table
数组中(在开发者控制台中验证),但是 我的 html table(通过 ng-repeat="entry in table"
)未更新。
第一个问题:你知道为什么吗?我觉得哪里不对?
第二个问题:结合Hoodie和AngularJS有什么好的方法?在 table 上 $watch
并在其中插入项目并在更改后通过 Hoodie 存储它会更好还是相反,然后将新项目添加到 hoodie.store 然后on("entries:add") 做一些 Angular 事情?
提前致谢!
嘿嘿=)
首先:如果您通过 'external' 事件更新数据结构(在本例中为连帽衫),您需要触发摘要循环,例如$rootScope.$apply();
其次:有一篇hoodie-angular-plugin是我和Elmar写的。这解决了您的大部分基本任务。在这种情况下,这将是最简单的方法。