2015-03-02 45 views
0

我下面的製品,其中的控制器是這樣的:標準在控制器定義函數 - 角

app.controller('crudController', function ($scope, crudService) {  
    loadRecords(); 
    function loadRecords(){ 
     //some code 
    } 
    $scope.save = function(){ 
    //some other code 
    } 
}); 

存在其中loadRecords &節省定義的差。爲了保持一致性,我傾向將所有函數編寫爲$scope.functionName = function()。這是正確的還是有任何標準?

回答

1

無論何時控制器被實例化,loadRecords()函數都會自動運行loadRecords(),也許loadRecords函數從某個位置加載記錄並將它分配給$ scope變量或執行一些初始功能,控制器的一個實例被創建。

現在,就scope.functionName而言,如果要將functionName公開給視圖,即希望從視圖(通過任何事件處理程序)調用此函數,則會使用它。

,如果你不想給函數暴露到視圖,那麼你可以編寫功能loadRecords()被寫入(和文章的作者就是這麼做的唯一)

1

在這裏你可以看到loadRecords()是從控制器本身調用的,我們不能從外部調用這個函數。 的另一個功能保存()是指從角DOM調用,如果你想從控制器本身調用的函數沒有必要寫功能就像

(以類似NG-點擊,NG-變化等)

function loadRecords(){ 
     //some code 
    } 
+0

你說,'沒必要寫功能like'。然後,應該是'$ scope.loadRecords()= function()'。對?? – Qwerty 2015-03-02 06:31:27

+0

$ scope.loadRecords = function() – prbaron 2015-03-02 10:04:15