如何在ng-repeat angularJS内触发ng-click

时间:2015-02-22 11:12:26

标签: angularjs angularjs-scope angularjs-ng-repeat angularjs-ng-click

ng-click在ng-repeat中不起作用。我已阅读所有指南和类似问题,但我的代码中没有任何作用。如果我点击ng-repeat内的标签没有任何反应,但如果我点击我的按钮,则会调用该函数。

HTML

                <div ng-repeat="sykdom in sykdommer" ng-model="sykdom.name" ng-click="test();"> 
                     <a class="item item-icon-right" href="#" ng-click="test();" >
                        {{sykdom.name}}
                        <i class="icon ion-ios-arrow-right"></i>
                     </a>   
                </div>  
<button ng-click="test()> test </button>

JS

$scope.sykdommer = [{name:'test1'},
                     {name:'test2'},
                     {name:'test3'}];

$scope.test = function(){
    alert('you clicked!');
};

我尝试过使用ng-click =“$ parent.test()”和ng-model =“sykdom.name”而没有任何运气。请帮忙,真的坚持这个问题:(

1 个答案:

答案 0 :(得分:1)

以下是我使用您的数据制作的示例:http://plnkr.co/edit/o4sqPd

模板应该像:

<div ng-repeat="sykdom in sykdommer"> 
      <a class="item item-icon-right" href="#" ng-click="test(sykdom.name);" >
         {{sykdom.name}}
       <i class="icon ion-ios-arrow-right"></i>
      </a>   
</div>  

如果它是您可更改数据的一部分,则应使用 ng-model 指令 - 在input / textarea等标签中(文档:https://docs.angularjs.org/api/ng/directive/ngModel