2015-03-02 6 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 загружает записи из какого-либо места и назначает ее переменной $ scope или выполняет некоторые начальные функции, которые необходимо запускать всякий раз создается экземпляр контроллера.

Теперь, что касается объекта $ scope.functionName, он используется, если вы хотите вывести имя функции в представление, т. Е. Вы хотите вызывать эту функцию из представления (любым обработчиком события).

Если вы не хотите, чтобы выставить функцию зрения, то вы можете писать функции как loadRecords() написано (и автор статьи делал это только)

1

Здесь вы можете видеть, что loadRecords() вызывается из самого контроллера, и мы не можем вызывать эту функцию извне. Другой функция сохранения() определяются для вызова из углового DOM (например, Нг кнопки мыши, нг-изменения и т.д ..)

, если вы хотите, чтобы вызвать функцию из самого контроллера нет функции нужно писать, как

+0

вы сказали, 'нет функции нужно написать like'. Тогда can может быть '$ scope.loadRecords() = function()'. Правильно?? – Qwerty

+0

$ scope.loadRecords = function() – prbaron

Смежные вопросы