我有一個有自己的控制器的指令。請參閱下面的代碼:來自其他控制器的指令控制器中的調用方法
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');
}
});
所以popdown
指令控制器上調用show
時,鏈接功能也應該被觸發,執行動畫。我怎麼能做到這一點?
你在哪裏發出呼叫到頁面上的'popdown'指令 - 是它只是在一個地方,其他控制器應該都可以訪問它,或在不同的地方有幾個彈出窗口? – satchmorun 2013-02-14 21:00:19
我的index.html有這樣的:
基本上只有1彈下實例作爲它的意思是全局可用。 – user253530 2013-02-14 21:12:10我想你的意思是寫'popdown.show(...)'而不是'popdown.notify(...)'是嗎?否則,通知功能有點令人困惑。 – lanoxx 2014-12-08 14:31:01