码迷,mamicode.com
首页 > Web开发 > 详细

Angularjs中this的指向

时间:2017-03-11 21:30:11      阅读:497      评论:0      收藏:0      [点我收藏+]

标签:https   联系   $scope   move   作者   ng-repeat   子集   作用   scope   

在Angularjs中this的指当前的scope。

 

<a class=" ng-click="remove(this)"></a>

<!--this指的是a标签作用域下的scope-->

<script>

app.controller(myCtrl,function($scope){
      $scope.remove = function (scope) {
        scope.remove();
      };
});
</script>

 

来自知乎的解释,https://www.zhihu.com/question/35780175

作者:Stark伟
链接:https://www.zhihu.com/question/35780175/answer/64416775
来源:知乎
著作权归作者所有,转载请联系作者获得授权。

比如你定义了一个
<div ng-click="change()">{{value}}</div>
然后你想点击这个div的时候改变这个div的内容,那么在相应的controller中应该这样写:
$scope.change = function(){
    this.value = ‘new value‘;
    //等价于$scope.value = ‘new value‘
}

这种this的特性在ng-repeat中非常好用。
比如你有一堆ng-repeat渲染出来的东西:
<div ng-click="change()" ng-repeat="item in items">{{item.value}}</div>

然后你想给他们绑定一个统一的函数,点击之后只会把自己的值改变,此时this就是指向当前的子scope:
$scope.change = function(){
    this.item.value = ‘new value‘;
    //由于是ng-repeat出来的,所以这里this指向的scope是上面那个案例中$scope的子集。
    //即this.$parent === $scope;
}

Angularjs中this的指向

标签:https   联系   $scope   move   作者   ng-repeat   子集   作用   scope   

原文地址:http://www.cnblogs.com/lsr-flying/p/6536142.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!