我有一段代码需要在执行其他代码后调用。我正在使用broadcast
。我需要从两个不同的地方调用相同的代码。现在这对我不起作用。
我的代码是
广播1
scope.$broadcast('selOrdLine', ordline);
在
scope.$on('selOrdLine', function (event, args) {
// some code here
})
我还需要从其他地方调用此代码
所以我也把scope.$broadcast('selOrdLine', ordline);
放在那里。但它正在返回错误。
修改
我第二次使用broadcast
时使用ordline
循环创建angular.forEach
数据。所以我只是在数据准备就绪之后才使用$q
来运行广播
$q.all(orderline).then(function () {
$scope.$broadcast('selOrdLine', orderline);
});
错误是,broadcast
被多次调用。但是当我使用$q
时,它应该只在设置了订单线数据后运行,对吗?