关于语法的简单问题。在Angular中,我看到控制器内的函数是这样创建的:
this.multiply = function multiply(a, b) {
return a * b;
}
我有点抛出,因为函数被赋予了一个名称,并且还赋值给了一个变量。所以我的问题是为什么函数分配给Angular中的变量?这会影响范围吗?
答案 0 :(得分:2)
这是标准的JavaScript,称为Named function Expression。
通过使用this
,您可以在控制器上定义它。如果在视图中使用controlleras
语法或在定义路径时使用此类函数以及this
上定义的任何属性。
早期版本的Angular仅使用$scope
,所有内容都必须在$scope
上定义。
现在控制器本身在作用域上实例化,具体取决于controlleras
答案 1 :(得分:1)
它没有将它分配给变量。它使用this
将其分配给控制器的实例;所以谁拥有控制器的实例就可以调用它。