我有一个正在输入到视图的列表,它显示正确,但是当一个事件触发时,该事件可以将一个项目添加到列表中,并且我希望angular用列表中的新项目更新视图。 / p>
所以这个想法是:
.factory('Files', function() {
return service.getFiles()
})
.controller('HomeCtrl', function($scope, Files) {
$scope.files = Files
})
现在在service
:
Service.prototype.getFiles = function() {
return this.files
}
添加列表的事件:
this.on('created', function(f) {
this.files.push(f)
})
因此,当事件created
被发出时,它会添加到文件列表this.files
中,指向service.getFiles()
的工厂应该能够看到数据有新内容。
Note:
This is all local, the events are done with node.js watching a folder.
This is using Nodewebkit and AngularJS and Node.JS Modules
答案 0 :(得分:1)
您只需要监听事件并调用$scope.$apply
按范围刷新视图。
.controller('HomeCtrl', function($scope, Files) {
$scope.files = Files.getFiles();
Files.on("created", function(){
$scope.files = Files.getFiles();
$scope.$apply();
});
})