2017-02-09 94 views
0

我想創建一個基本控制器,我可以使用所有其他控制器需要在一起的函數。我想繼承或實例化我的低級控制器上的JavaScript頁面。在子控制器中調用父控制器

我在網上看,看到不同的建議,但它沒有爲我工作。我已經把2個腳本按順序放在佈局上。我創建了一個基本的控制器:

var app = angular.module('mainApp', []); 

我試圖訪問它詮釋,他的另一個控制器:

baseController.app 
    .controller('listsController'..... 

我如何獲得訪問baseController(這將在未來擁有的功能)在我listController文件?

回答

2

一種方法是使用$controller服務實例像this回答狀態

app.controller('ChildCtrl', function($scope, $controller) { 
    $controller('ParentCtrl', {$scope: $scope}); 
}); 

但正如你說,你有所有其他控制器的需要,我建議你創建一個服務,將功能改爲保留這些常用功能。

下面是一個服務例如:

app.factory('functionServ', function() { 

    var function1 = function(){ 
     //Do your thing 
    }; 

    var function2 = function(){ 
     //Do your thing 
    }; 

    return { 
     function1: function1, 
     function2: function2 
    } 
}); 

然後,在其中需要使用常用功能控制器注入服務

app.controller('ChildCtrl', ['$scope', 'functionServ', 
    function ($scope, functionServ) { 

    //Call the functions like: functionServ.function1(); 
}]); 
相關問題