用于定义控制器中功能的标准 - 角度

时间:2015-03-02 06:00:26

标签: angularjs

我正在关注一个控制器如下的文章:

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

loadRecords&保存已定义。为了保持一致性,我更喜欢将所有函数写为$scope.functionName = function()。这是对的还是有任何标准?

2 个答案:

答案 0 :(得分:1)

在这里你可以看到loadRecords()是从控制器本身调用的,我们不能从外部调用这个函数。 另一个函数save()被定义为从角度DOM调用(例如通过ng-click,ng-change等)。

如果你想从控制器本身调用一个函数,就不需要像

那样编写函数
function loadRecords(){
      //some code
    }

答案 1 :(得分:1)

无论何时实例化控制器,您显示的示例都会自动运行loadRecords(),也许loadRecords函数从某个地方加载记录并将其分配给$ scope变量或执行一些需要在实例时运行的初始功能控制器的创建。

现在,就$ scope.functionName而言,如果要将functionName公开给视图,则使用它,即,您希望从视图中调用此函数(通过任何事件处理程序)。

如果您不想将该函数公开给视图,那么您可以编写函数,因为loadRecords()是写的(文章的作者只是这样做)