给出以下代码:
var msg = {
field1: val1,
field2: val2,
// more fields
};
$scope.$broadcast("EventName", msg);
事件消费者接收到一个指向msg
或副本?
事件消费者接收一个指针到事件数据。
例如:
<div ng-controller="MyCtrl">
<input type="text" ng-model="name.name"/>
<button ng-click="broadcast()">Broadcast event</button>
</div>
<div ng-controller="MyCtrl2">
<input type="text" ng-model="name2.name"/>
</div>
function MyCtrl($scope,$rootScope) {
$scope.name = {name: "MyCtrl"};
$scope.broadcast = function(){
$rootScope.$broadcast('someEvent', $scope.name);
};
}
function MyCtrl2($scope,$rootScope) {
$scope.name2 = null;
$scope.$on('someEvent', function(event, data){
$scope.name2 = data;
});
}
看到这个JSFiddle http://jsfiddle.net/HB7LU/10364/对此进行演示。
只需从第一个开始广播该值input
使用按钮字段,然后尝试更改任何值input
field.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)