0
我無法訪問我的控制器方法中的服務。AngularJS - 無法使用控制器方法訪問服務
AppController.$inject = ['$scope', 'appService'];
function AppController($scope, appService) {
$scope.name = "World";
$scope.clicked = function() {
//am not able to access appService here
/*
appService.setName("john");
$scope.name = getName();
*/
$scope.name = "button clicked";
}
}
http://plnkr.co/edit/UgHmtCbkxeyluTPJOG4T?p=info
服務當控制器被創建,但不能點擊後()被調用的控制器訪問。請讓我知道,如果我在這裏失去了一些東西。
我試圖創建一個指令(類似於語言環境選擇下拉菜單)。我希望該指令具有其控制器和自己的服務。我的想法是,當用戶更改下拉列表並在服務中設置語言時,控制器將處理languageChange()方法,以便我可以將此服務注入應用程序的任何其他部分。
那個時候我在我的訪問控制方法中的服務問題(languageChange())
我想,如果我得到了基本的例子吧,我就可以用我的語言變化的指令進行。
感謝您的快速反應。但是我有其他情況,appService在控制器方法中不可訪問。你能想到任何理由嗎?我可以在控制器啓動時訪問它們,但不能在控制器中的某個方法被調用時訪問它們。另外,你可以發佈一個非常基本的例子來創建一個指令,可能是一個按鈕,它有一個控制器和服務。點擊按鈕,我想調用控制器中的一個方法,該方法與服務對話。 – touchydeer36
您的樣品,享受! http://plnkr.co/edit/PvWCEezSfEeQmK9DKaLz?p=preview –
嗨@ touchydeer36如果這或任何答案已解決您的問題,請考慮[接受它](http://meta.stackexchange.com/q/5234/179419 )通過點擊複選標記。這向更廣泛的社區表明,您已經找到了解決方案,併爲答覆者和您自己提供了一些聲譽。沒有義務這樣做。 –