повторить и нажать не очень хорошо

0
<li ng-repeat="item in data" ng-click="myFunc('{{ item.name }}')">

Кажется, я не могу получить ng-click чтобы передать значение item.name. Он фактически отправляет:

{{ item.name }}

Пример в Plunker: http://plnkr.co/edit/dq5KA3?p=preview

В консоли он выглядит нормально, но на самом деле не работает:

Изображение 174551

Теги:
angularjs-ng-repeat
angularjs-ng-click

3 ответа

1
Лучший ответ

ng-click - это выражение , поэтому вы должны установить его как ng-click='myFunc(item.name)'. Это будет передавать фактическое значение item.name а не пытаться передать строковое значение исходного текста, как это делает ваша текущая реализация.

1

Использование:

<li ng-repeat="item in data" ng-click="myFunc(item.name)">{{item.name}}
</li>

Потому что item является объектом.


Объяснение результатов в консоли в вашем сценарии:

Always: {{item.name}} Он выведет значение, поэтому вы увидите в консоли:

<li ng-repeat="item in data" ng-click="myFunc('Apple')" class="ng-binding ng-scope">Apple
</li>

Потому что у вас есть на вашей странице:

 <li ng-repeat="item in data" ng-click="myFunc('{{ item.name }}')">{{item.name}}
 </li>
0

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню