我有一个名称为PostController和CommentController
PostController的控制器具有功能showPost CommentController
具有功能showComment
我想在单击按钮时执行这两个功能
<button href="#" ng-click="showPost();showComment()" class="btn">show</button>
在不指定嵌套控制器概念的情况下如何做到这一点
我有一个名称为PostController和CommentController
PostController的控制器具有功能showPost CommentController
具有功能showComment
我想在单击按钮时执行这两个功能
<button href="#" ng-click="showPost();showComment()" class="btn">show</button>
在不指定嵌套控制器概念的情况下如何做到这一点
您可以通过使用服务/工厂来实现这一点。这是它应该如何工作的简单示例:
JS
var myApp = angular.module('myApp', []);
function CommentController($scope, myStorage) {
$scope.myStorage = myStorage;
$scope.showMe = function(){
myStorage.setIndex(3);
}
}
function PostController($scope, myStorage) {
$scope.myStorage = myStorage;
}
myApp.factory('myStorage', function () {
var currentBusinessIndex = 0;
return {
getIndex: function () {
return currentBusinessIndex;
},
setIndex: function (index) {
currentBusinessIndex = index;
}
}
});
HTML
<div ng-controller="CommentController">
<button ng-click="showMe();">press me</button>
<pre>{{myStorage.getIndex()}}</pre>
</div>
<div ng-controller="PostController">
<pre>{{myStorage.getIndex()}}</pre>
</div>
演示Fiddle
此外,您可以使用 , 来查看服务数据$watch
,以触发任何数据更改