Angular JS自动更新事件视图

时间:2014-06-30 09:11:30

标签: javascript node.js angularjs node-webkit

我有一个正在输入到视图的列表,它显示正确,但是当一个事件触发时,该事件可以将一个项目添加到列表中,并且我希望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 

1 个答案:

答案 0 :(得分:1)

您只需要监听事件并调用$scope.$apply按范围刷新视图。

.controller('HomeCtrl', function($scope, Files) {
   $scope.files = Files.getFiles();
   Files.on("created", function(){
      $scope.files = Files.getFiles();
      $scope.$apply();
   });
})