我正在学习角度。我正在寻找一个例子,它将向我展示独立的两个控制器可以相互通信的不同方式。
我刚才发现父母和子女控制器之间可以相互通信。这是我的示例代码,它工作正常。 js在这里摆弄http://jsfiddle.net/tridip/oa9gc3ew/
以下帖子真的帮助我理解https://stackoverflow.com/a/14502755/6188148
<div ng-app ng-controller="ParentCtrl">
<button ng-click="ShowParent()">ShowParent</button>
<div ng-controller="ChildCtrl as vm">
<button ng-click="ShowChild()">ShowChild</button>
<br>
<br>
{{$parent.cities}}
<br>
{{vm.parentcities}}
</div>
</div>
function ParentCtrl($scope) {
$scope.cities = ["NY", "Amsterdam", "Barcelona"];
$scope.ShowParent = function() {
alert('parent');
$scope.$broadcast('childEvent', [1,2,3]);
};
$scope.$on('parentEvent', function(event, data) { alert(data); });
}
function ChildCtrl($scope) {
$scope.parentcities = $scope.$parent.cities;
$scope.ShowChild = function() {
alert('child');
$scope.$emit('parentEvent', [1,2,3]);
};
$scope.$on('childEvent', function(event, mass)
{
alert(mass);
});
}
显示任何人请举几个例子来说明两个独立的控制器如何相互通信。告诉我几个人用于控制器之间通信的方法。感谢