简单的关于语法的问题。在角,我见过的功能像这样创造了一个控制器内:为什么将函数分配给Angular中的变量
this.multiply = function multiply(a, b) {
return a * b;
}
我有点扔的,因为给予该功能的名称,并分配给一个变量。所以我的问题是为什么函数分配给Angular中的变量?这会影响范围吗?
简单的关于语法的问题。在角,我见过的功能像这样创造了一个控制器内:为什么将函数分配给Angular中的变量
this.multiply = function multiply(a, b) {
return a * b;
}
我有点扔的,因为给予该功能的名称,并分配给一个变量。所以我的问题是为什么函数分配给Angular中的变量?这会影响范围吗?
它不将其分配给一个变量。它将其分配给控制器的实例,其中this
;所以无论谁拥有控制器的实例都可以调用它。
这是标准的JavaScript和这个叫Named function Expression。
使用this
你在控制器定义它。如果在视图中或在定义路由时使用controlleras
语法,则可以使用此类函数以及this
上定义的任何属性。
早期版本的角度仅采用$scope
,一切都必须在$scope
定义。
现在控制器本身controlleras
上实例取决于控制器别名范围,它只是使他们谁就拥有一个实例控制器公开访问。 –
为什么倒票?这是一个有效的问题。 – AfterWorkGuinness
更常见的是,您将在视图模型(控制器)的作用域上创建一些内容,以便您的视图可以访问它(例如,点击处理程序)。 –