如果我想从模板中引用我的角度控制器函数,我应该将函数放在$scope
中,如下所示:
[template]
<button ng-click="doSomething()"></button>
[controller]
$scope.doSomething = function(){};
但是其他功能(以及我不需要观看的控制器变量),我不会在模板中引用的那些功能呢。
我是否应该将它们全部放入“$ scope”?
表现不是很糟糕吗?
在$scope
之外声明这些功能是否有任何问题?
答案 0 :(得分:5)
您可以在控制器的功能中简单地将它们定义为私有函数。
请注意,我也支持函数声明语法,而不是将函数表达式赋给变量,因为它允许您在底部声明所有函数,从而在尝试查看正在进行的操作时减少认知负担。
app.controller('MainCtrl', function ($scope) {
$scope.exposedFn = exposedFn;
function exposedFn() {
fnNotExposed();
}
function fnNotExposed() {}
});