Angular js:在控制器内声明变量的不同方法

时间:2016-04-04 19:04:37

标签: angularjs

学习角度如此道歉,有些时候在我坚持理解的时候问有线问题。

查看示例代码

var app = angular.module('myApp', []);
app.controller('myCtrl', function ($scope) {
    $scope.op1= '';
    this.op2='';
    var op3='';
});

现在告诉我这两个$scope.op1= ''; and this.op2='';会有什么区别?

请指导我。感谢

1 个答案:

答案 0 :(得分:1)

这是一个示例代码,可以解释我们在constroller中使用$ scope和this时的区别。 var任何方式都会创建无法从html访问的本地变量。 请参阅代码以了解。



var app = angular.module('myApp', []).controller('myCtrl', function ($scope) {
    $scope.op1= 'op1';
    this.op2='op2';
    var op3='';
});

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="myApp" >
  <div ng-controller="myCtrl as a">
    op1  : {{a.op1 ||'invalid'}}<br/>
    op2 : {{a.op2 ||'invalid'}}<br/>
  </div>
  <br/>
  <div ng-controller="myCtrl">
    op1  : {{op1 ||'invalid'}}<br/>
    op2 : {{op2 ||'invalid'}}<br/>
  </div>
</div>
&#13;
&#13;
&#13;