2017-04-02 50 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-點擊通過點擊的項目列出的項目。

乾杯!

相關問題