2016-04-20 27 views
1

在我的子控制器中,我使用$ scope從它的父節點調用一個函數。一切工作正常,但是當我運行gulp服務時,我得到一個ESLint錯誤當我打電話給我父母的功能時,ESlint報告錯誤

不應該在控制器中的$ scope中設置屬性。使用 控制器的語法並將數據添加到「this」

所以我的問題是我應該如何處理這個正確的方式?

以下是我在更多的細節不解釋說:

我在我的角度項目中使用UIRouter。我已經宣佈了一個父母狀態和它的孩子狀態。

$stateProvider.state('app.parent', { 
    url: '/parent', 
    temolateUrl: 'parent.html', 
    contorller: 'MyParentController as parentCtrl' 
} 


$stateProvider.state('app.parent.child', { 
    url: '/child', 
    temolateUrl: 'child.html', 
    contorller: 'MyChildController as childCtl' 
} 

在我的父控制器中,我將函數添加到$ scope,以便可以從狀態的子項訪問該函數。

function MyParentController() { 
    $scope.myParentFunction = myParentFunction; 
    function myParentFunction(){ 
    //do something 
    } 
} 

在我的孩子狀態(控制器)我調用這個函數。

function MyChildController(){ 
... 
    $scope.myParentFunction(); 
... 
} 

一切正常,但是當我運行一飲而盡服務,我得到一個錯誤ESLint

你不應該在控制器上設置$作用域屬性。使用 controllerAs語法並將數據添加到「this」

所以我的問題是我該如何處理這個正確的方法。

回答

相關問題