1、发送消息必须配合事件如(ng-click)在回调函数中使用
2、$scope.$emit('名称',数据) 向自身以及父controller发送消息
3、$scope.$broadcast('名称',数据) 向自身以及子controller发送消息
4、$scope.$on('名称',function(event,data数据形参){...}) 接收消息
代码示例:
<html ng-app="app" ng-controller="main">
<head>
<meta charset="utf-8">
<title ></title>
<script src="js/libs/angular.js"></script>
<style>
.a{
color:red;
}
</style>
</head>
<body >
<div ng-controller='d1'>
<button ng-click='f()'>按钮</button>
<div ng-controller='d2'>
<p ng-click="f2()">哈哈</p>
</div>
</div>
<script>
console.log(angular);
var app=new angular.module('app',[]);
app.controller('main',['$scope',function($scope){
$scope.msg='哈哈';
}])
app.factory('ssr',function(){
return {
a:12,
b:15
}
})
app.controller('d1',['$scope','ssr',function($scope,ssr){
$scope.f=function()
{
$scope.$broadcast('rec',{a:12,b:15})
}
$scope.$on('send',function(event,data){
console.log(data);
alert('子 级发的')
})
}])
app.controller('d2',['$scope',function($scope){
$scope.$on('rec',function(event,data){
console.log(data);
alert('收到');
})
$scope.f2=function()
{
$scope.$emit('send','给父级')
}
}])
</script>
</body>
</html>