在Angular下的ng-repeat下单击ng-click

时间:2015-01-13 11:52:30

标签: javascript angularjs

我有

下的ng-repeat

我点击了

喜欢

<div ng-repeat="">
  <div ng-click="someFunction(name)"></div>
<input type="text" class="common btnDarkGrey editDashboardCategory" data-ng-model="inputCategory" ng-hide="!item.show">
</div>

现在我的代码

$scope.someFunction = function(name) {
      $scope.scroller.items[index].show = true;
    $scope.inputCategory=name;
    });

首次点击即可正常使用。

当我第二次点击时。我的第一个div选择第二个值

有什么想法吗?怎么做

由于

1 个答案:

答案 0 :(得分:1)

如果您希望每个渲染行有单独的showName值,则需要将其设置为单个子范围。现在,您将值设置为父范围showName,该范围由ngRepeat创建的所有子范围共享。

简单的解决方法是使用this关键字引用子范围:

$scope.someFunction = function(name) {
    var new_name = /* some other calculations */
    this.showName = new_name;
};