控制器中的两个变量不同

时间:2017-07-17 10:03:27

标签: javascript angularjs

有人可以解释两个变量a1a2之间的差异:

app.controller("someCtrl",function(){
  this.a1=somevalue;
  var a2=somevalue;
});

a2的生命周期是什么?

2 个答案:

答案 0 :(得分:2)

他们很相似。相同的生命周期然而this.a1有模型绑定(如果您要在视图中的任何位置使用此变量,这是角度应用程序中的基础),而a2没有,并且您将无法使用$ scope访问它观点。

答案 1 :(得分:1)

简单来说,this.a1将在调用控制器函数时在a1引用的任何对象上创建一个名为this的属性。由于您正在调用构造函数,this将引用控制器本身,因此您将能够使用a1进行数据绑定。 var a2将在函数内创建一个名为a2的局部变量。