最佳答案
我有一个指令,它有自己的控制器。参见下面的代码:
var popdown = angular.module('xModules',[]);
popdown.directive('popdown', function () {
var PopdownController = function ($scope) {
this.scope = $scope;
}
PopdownController.prototype = {
show:function (message, type) {
this.scope.message = message;
this.scope.type = type;
},
hide:function () {
this.scope.message = '';
this.scope.type = '';
}
}
var linkFn = function (scope, lElement, attrs, controller) {
};
return {
controller: PopdownController,
link: linkFn,
replace: true,
templateUrl: './partials/modules/popdown.html'
}
});
这是一个错误/通知/警告的通知系统。我要做的是从另一个控制器(不是指令控制器)调用这个控制器上的函数 show
。当我这样做时,我还希望我的 link 函数能够检测到一些属性发生了变化,并执行一些动画。
这里有一些代码来说明我的要求:
var app = angular.module('app', ['RestService']);
app.controller('IndexController', function($scope, RestService) {
var result = RestService.query();
if(result.error) {
popdown.notify(error.message, 'error');
}
});
因此,当在 popdown
指令控制器上调用 show
时,链接函数也应该被触发并执行动画。我怎么才能做到呢?