我正在关注一个控制器如下的文章:
app.controller('crudController', function ($scope, crudService) {
loadRecords();
function loadRecords(){
//some code
}
$scope.save = function(){
//some other code
}
});
loadRecords&保存已定义。为了保持一致性,我更喜欢将所有函数写为$scope.functionName = function()
。这是对的还是有任何标准?
答案 0 :(得分:1)
在这里你可以看到loadRecords()是从控制器本身调用的,我们不能从外部调用这个函数。 另一个函数save()被定义为从角度DOM调用(例如通过ng-click,ng-change等)。
如果你想从控制器本身调用一个函数,就不需要像
那样编写函数function loadRecords(){
//some code
}
答案 1 :(得分:1)
无论何时实例化控制器,您显示的示例都会自动运行loadRecords(),也许loadRecords函数从某个地方加载记录并将其分配给$ scope变量或执行一些需要在实例时运行的初始功能控制器的创建。
现在,就$ scope.functionName而言,如果要将functionName公开给视图,则使用它,即,您希望从视图中调用此函数(通过任何事件处理程序)。
如果您不想将该函数公开给视图,那么您可以编写函数,因为loadRecords()是写的(文章的作者只是这样做)