Uda*_*ant 3 javascript angularjs angularjs-scope rootscope
您能否解释数据服务的使用与使用$ rootScope事件的比较.
我有一个提供编辑功能的分支列表.点击编辑按钮我正在使用根范围广播一个事件
$rootScope.$broadcast('EditBranch', branchID);
Run Code Online (Sandbox Code Playgroud)
此EditBranch事件由编辑/创建控制器捕获,该控制器获取分支详细信息并以适当的编辑格式呈现它.
其他功能是我添加一个新分支,我希望它一旦添加就立即列在现有分支列表中.使用的代码如下
$rootScope.$broadcast('AddBranch', branchData); //in create controller
$scope.$on('AddBranch', function(e, branchData){ //in listing controller
$scope.branches.push(branchData);
});
Run Code Online (Sandbox Code Playgroud)
以这种方式使用$ rootScope是否正确.或者我应该shredService在创建后创建用于共享分支数据的数据.
如果一种方法比另一种方法更好,可能不容易说.但是,在这种情况下我会使用共享服务,因为它是关于操纵相同的数据,branch(我想).$broadcast并且$on在应用程序的不同"独立"组件可能正在侦听事件的情况下更适合,并且每个事件发生时这些组件中的每个组件都会有不同的响应.