我有一个具有自己的控制器的指令。请参见以下代码:
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
此控制器上的函数。当我这样做时,我还希望我的链接函数检测到某些属性已更改并执行了一些动画。
这是一些代码来举例说明我要的内容:
var app = angular.module('app', ['RestService']);
app.controller('IndexController', function($scope, RestService) {
var result = RestService.query();
if(result.error) {
popdown.notify(error.message, 'error');
}
});
所以打电话时show
开启popdown
指令控制器,链接功能也应该被触发,执行动画。我该如何实现?
popdown.show(...)
而不是popdown.notify(...)
对吗?否则,notify函数有点令人困惑。
popdown.notify
哪里?.notifiy
方法,我的意思是
popdown
在页面上的哪里放置对指令的调用-是在一个应该让其他控制器都可以访问它的地方,还是在不同地方有几个弹出窗口?