2015-10-17 52 views
1

event.id在html文本中正確呈現/編譯,但函數沒有正確接收它。即使它在源代碼中正確顯示,這裏發生了什麼?angularjs ng-click函數參數不適用於ng-repeat

<span ng-repeat="event in [{"id":"dxczhlyvmblc","name":"4 on 4 - Pickup","venuename":"Box Hill Aqualink","numspotsleft":"<strong>Spots now open<\/strong>","day":"28","dayname":"Wednesday"}]"> 
    <button ng-click="toggleModal('<% event.id %>')">More detail = <% event.id %></button> 
</span> 

enter image description here

shopApp.controller('MainController', function($scope, $http, $q){ 
    $scope.toggleModal = function(eventId){ 
     console.log(eventId+" toggle"); 
    };}) 

注意我使用<%在{因爲模板引擎{代替。

回答

2

視圖中函數的參數不使用角模板表達式。

更改爲:

ng-click="toggleModal(event.id)" 

您也可能會發現更方便地通過整個對象,如果你想給對象傳遞給例如

+0

非常好,一直在尋找這個! – Michel

1

一個模態控制器當你想通過event.id的值爲toggleModal功能:

<button ng-click="toggleModal(event.id)">More detail = <% event.id %></button>