我有以下内容:
$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
并且此消息将被广播。
但是,当我尝试接收消息时,未定义“state”的值:
$rootScope.$on("tableDataUpdated", function (args) {
alert(args.state);
});
我也尝试过:
$rootScope.$on("tableDataUpdated", function (args) {
alert(args.tableForm);
});
我似乎无法发送对象并收到
答案 0 :(得分:57)
那是因为侦听器函数有两个参数传递给它event
和args
。见the angular docs.
尝试:
$rootScope.$on("tableDataUpdated", function (event, args) { alert(args.state); });