2015-06-07 113 views
-1

简单的关于语法的问题。在角,我见过的功能像这样创造了一个控制器内:为什么将函数分配给Angular中的变量

this.multiply = function multiply(a, b) { 
    return a * b; 
} 

我有点扔的,因为给予该功能的名称,并分配给一个变量。所以我的问题是为什么函数分配给Angular中的变量?这会影响范围吗?

+2

上实例取决于控制器别名范围,它只是使他们谁就拥有一个实例控制器公开访问。 –

+0

为什么倒票?这是一个有效的问题。 – AfterWorkGuinness

+0

更常见的是,您将在视图模型(控制器)的作用域上创建一些内容,以便您的视图可以访问它(例如,点击处理程序)。 –

回答

1

它不将其分配给一个变量。它将其分配给控制器的实例,其中this;所以无论谁拥有控制器的实例都可以调用它。

2

这是标准的JavaScript和这个叫Named function Expression

使用this你在控制器定义它。如果在视图中或在定义路由时使用controlleras语法,则可以使用此类函数以及this上定义的任何属性。

早期版本的角度仅采用$scope,一切都必须在$scope定义。

现在控制器本身controlleras

相关问题