我在ng里面点击了ng-repeat,点击了2个按钮

时间:2016-08-10 14:24:14

标签: javascript html angularjs

我的2个标签中有ng-click。当我单击X按钮时,也会点击完成按钮。只有当集合中只有一个对象被重复时才会发生这种情况。

<ul class="chat-options">

  <li ng-repeat="possibleValue in property.PossibleValues track by $index"
      ng-init="propertyValueIndexIndex = $index"
      ng-mouseover="EnablePropertyValueEditing(possibleValue)"
      style="display: inline-block; margin-left: 20px; margin-right: 10px; margin-bottom: 2px; height: 26px;">

    <div>
      <label class="chat-option-name">
        {{possibleValue.value}}
      </label>

      <!--delete a property value-->
      <button class="chat-option chat-option-remove"
              ng-disabled="!possibleValue.edit"
              ng-click="RemovePropertyValue(property, possibleValue, this)">
        X
      </button>
    </div>
  </li>

  <li style="display: inline-block; margin-right: 10px; margin-bottom: 2px; height: 26px;">
    <button class="chat-option-name {{property.Name.replace(' ','_')}}-done" ng-click="DisablePropertyEditing(property)">Done</button>
  </li>
</ul>

1 个答案:

答案 0 :(得分:0)

我创建了一个类似于你的代码的plunker。

http://plnkr.co/edit/Q1OxZepZ5NhHpgzpffw6?p=preview

HTML               

<li ng-repeat="x in [1,2,3,4]">

<div>
  <label class="chat-option-name">
    {{possibleValue.value}}
  </label>

  <!--delete a property value-->
  <button
          ng-click="XClick()">
    X
  </button>
</div>
</li>

<li style="display: inline-block; margin-right: 10px; margin-bottom: 2px; height: 26px;">
<button class="chat-option-name {{property.Name.replace(' ','_')}}-done" ng-click="DoneClicked();">Done</button>
</li>

控制器

var app = angular.module('plunker', []);

app.controller('MainCtrl', function($scope) {
$scope.name = 'World';

$scope.XClick = function(){
alert('X Clicked');
};

$scope.DoneClicked = function(){
alert('DoneClicked');
};

});

你能在plunker中重现这个问题吗?



P.S补充说明,因为我没有足够的声誉来评论!