如何在两个地方设置相同的广播

时间:2016-07-07 16:40:53

标签: angularjs angular-directive angular-broadcast

我有一段代码需要在执行其他代码后调用。我正在使用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时,它应该只在设置了订单线数据后运行,对吗?

0 个答案:

没有答案