我有以下内容:

$scope.$watch('tableForm.$pristine', function (newValue) {
    $rootScope.$broadcast("tableDataUpdated",
        { state: $scope.tableForm.$pristine });
});

我也尝试过:
$scope.$watch('tableForm.$pristine', function (newValue) {
    var tableForm = { pristine: $scope.tableForm.$pristine };
    $rootScope.$broadcast("tableDataUpdated", tableForm);
});

当tableForm $pristine状态更改时,$scope.tableForm.$pristine的值将设置为False并广播此消息。

但是,当我尝试接收消息时,未定义“状态”的值:
$rootScope.$on("tableDataUpdated", function (args) {
    alert(args.state);
});

我也尝试过:
$rootScope.$on("tableDataUpdated", function (args) {
    alert(args.tableForm);
});

我仍然似乎无法发送对象并接收它

最佳答案

这是因为在侦听器函数中传递了两个参数eventargs。参见the angular docs.

尝试:

$ rootScope。$ on(“tableDataUpdated”,函数(事件,参数){
警报(args.state);
});

关于angularjs - 如何使用$ broadcast发送对象?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17779745/

10-13 02:49