2014-10-30 2 views
-1

У меня есть две кнопки, которые подключены к событию ng-click, но с разными параметрами.Синтаксическая ошибка AngularJS при вызове того же метода с разными параметрами из динамических событий нажатия кнопок

<button type="button" class="btn btn-default btn-large btn-block" 
ng-click="makePick({{item.EventId}}, {{eventSchedule.MemberId}}, 
        {{item.HomeId}})"> 

<button type="button" class="btn btn-default btn-large btn-block" 
ng-click="makePick({{item.EventId}}, {{eventSchedule.MemberId}}, 
        {{item.AwayId}})"> 

И оба называют один и тот же метод:

$scope.makePick = function (eventId, memberId, teamWinSelId) { //... }; 

Когда я пинком проект в браузере, я получаю следующее сообщение об ошибке:

Syntax Error: Token 'item.EventId' is at column {2} of the expression [{3}] starting at [{4}]. 

Не уверен, что происходит , это вопрос того, чтобы тот же метод вызывал две разные кнопки? Не слишком уверен, что происходит не так. Я был бы признателен за некоторые рекомендации.

ответ

0

При использовании ng-click опустить {{}} для просмотра переменных, они уже обработаны в директиве:

<button type="button" class="btn btn-default btn-large btn-block" ng-click="makePick(item.EventId, eventSchedule.MemberId, item.HomeId)"> 

<button type="button" class="btn btn-default btn-large btn-block" ng-click="makePick(item.EventId, eventSchedule.MemberId, item.AwayId)"> 
0

вам не нужно использовать фигурные скобки в params, так как ng-click сам обрабатывает это для вас. фигурные скобки не являются обязательными для любой директивы приставкой нг

, например

ng-click="makePick(item.EventId,eventSchedule.MemberId, 
       item.AwayId) 
Смежные вопросы