Fra*_*ain 17 angularjs angularjs-scope
我试图在$ scope和$ scope.$ broadcast的两个控制器之间共享信息.
这是观点:
<div ng-controller="ParentCtrl">
<div ng-controller="ChildCtrl">
{{content}}
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
和控制器:
.controller('ParentCtrl', ['$scope', function($scope) {
$scope.$broadcast('someEvent', 'bidule');
}])
.controller('ChildCtrl', ['$scope', function($scope) {
$scope.$on('someEvent', function(event, b) {
$scope.content = b;
});
}])
Run Code Online (Sandbox Code Playgroud)
和掠夺者
我在这做错了什么?
kam*_*lkp 44
子控制器尚未实例化.包裹broadcast在一个timeout作品:
http://plnkr.co/edit/MF7P16K1OTv46JNgkkih?p=preview
$timeout(function(){
$scope.$broadcast('someEvent', 'bidule');
});
Run Code Online (Sandbox Code Playgroud)
孩子没有发起.面对同样的问题,这是我的解决方案.
.controller('ParentCtrl', ['$scope', function($scope) {
$scope.$on('initiateEvent', function(event, b) {
$scope.$broadcast('someEvent', 'bidule');
}
}])
.controller('ChildCtrl', ['$scope', function($scope) {
$scope.$on('someEvent', function(event, b) {
$scope.content = b;
});
$scope.$emit('initiateEvent', null);
}])
Run Code Online (Sandbox Code Playgroud)
在这里,我正在启动孩子,并要求家长进行广播 someEvent
| 归档时间: |
|
| 查看次数: |
23782 次 |
| 最近记录: |