Angular,使用ng-click仅使用ng-click调用一次函数

时间:2017-04-02 17:41:22

标签: angularjs angularjs-ng-click ngroute angularjs-ng-route

我在ng-repeat中添加了一个ng-click,我想在循环中获得单个项目,它只能运行一次但是只有一次。

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

在我的控制器中

$ scope.getSingleItem = function(item){     的console.log(项目);   }

如果我点击我在控制台日志中获取项目对象,则此单击是一个href并将我发送到带有ng-route的下一页。 但是,如果我返回并单击相同的链接或其他链接,它将无法正常工作。

它只开了一次。

UPDATE! 我只是发现用我自己的href指令和ng-click它只工作一次,但是如果我只是在我自己的指令中添加一个$ timeout就行了。

3 个答案:

答案 0 :(得分:1)

不确定您是否发布了正确的代码,您的ng-click应该放在ng-repeat之外,

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

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

我不确定你在ng-repeat之后做了什么,因为你的帖子没有任何其他代码,但我猜这是因为你没有列出你在ng-repeat中的项目。< / p>

我做过类似的工作:

<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-click传递单击的项目。

干杯!