2017-04-02 168 views
0

我在ng-repeat中添加了一个ng-click,我想在循环中获得单个项目,但它只能运行一次。Angular,使用ng-click只需要一次ng-click就可以调用一个函数

ng-repeat="item in Playlist.item" ng-click="getSingleItem(item)" 
在我的控制器

$ scope.getSingleItem =函数(项目){ 的console.log(项目); }

如果我点击我在我的控制台日志中获得项目对象,这个点击是一个href并且用ng-route发送给我下一页。 但是,如果我回去并点击相同的链接或另一个链接,它将无法正常工作。

它只发射一次。

更新! 我只是发现,用我自己的href指令和ng-click只能工作一次,但如果我只是在我自己的指令中添加一个$超时,它将工作。

+0

它应该是:ng-repeat =“Playlist.item中的项目”ng-click =“getSingleItem(item)” – Ved

+0

我知道,这只是stackoverflow上的复制pas错误。我发现它可以使用我自己的指令和ng-click stop函数,但是如果我只在我的指令中添加$ timeout,它就可以工作。 – Gino

+0

@Gino你应该发布你的答案,如果你有。 – DDelgro

回答

0

您的HTML代码中有错误。您在该行中缺少逗号。 这应该是:

ng-repeat="item in Playlist.item" ng-click="getSingleItem(item)"

1

不知道你是否已经张贴了正确的代码,你的NG-点击应放在外面NG-重复,

ng-repeat="item in Playlist.item" ng-click="getSingleItem(item)" 
0

我不知道你是什么因为你的帖子没有任何其他代码,所以在ng-repeat之后进行,但我猜测这是因为你没有列出你在ng-repeat中的项目。

我做了这样的事情已经工作:

<div> 
    <table> 
     <thead> 
      <tr> 
       <td>Item</td> 
      </tr> 
     </thead> 
     <tbody ng-repeat="item in Playlist.item" ng-click="getSignleItem(item)"> 
      <tr> 
       <td>{{item}}</td> 
      </tr> 
     </tbody> 
    </table> 
</div> 

您现在应该能够做点击表格中,然后执行NG-点击通过点击的项目列出的项目。

干杯!