2015-10-17 56 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>