您能否解释一下数据服务的使用与 $rootScope 事件的使用。
我有一个提供编辑功能的 say 分支列表。单击编辑按钮时,我正在使用
广播具有根作用域的事件$rootScope.$broadcast('EditBranch', branchID);
此 EditBranch
事件由编辑/创建 Controller 捕获,该 Controller 获取分支详细信息并以适当的编辑格式呈现它。
其他功能是我正在添加一个新分支,我希望它在添加后立即列在现有分支列表中。使用的代码如下
$rootScope.$broadcast('AddBranch', branchData); //in create controller
$scope.$on('AddBranch', function(e, branchData){ //in listing controller
$scope.branches.push(branchData);
});
这样使用$rootScope对吗?或者我应该创建一个 shredService
用于在创建后共享分支数据。
最佳答案
要说一种方法是否优于另一种方法可能并不容易。但是,在这种情况下我会使用共享服务,因为它都是关于操作相同的数据,branch
(我想)。 $broadcast
和 $on
更适合应用程序的不同“独立”组件可能正在监听事件并且这些组件中的每一个在事件发生时可能做出不同响应的情况发生。
关于javascript - AngularJS 数据服务与 $rootScope 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19766355/