Вопрос по events, click, angularjs – Событие AngularJs ng-click вызывается только с буквальными аргументами

10

Когда я звоню в группе повторения нг

<span ng-click="remove({{user.id}})">Delete</span>

Удалить функцияне называется

но когда я заменяю выражение буквальным аргументом, оно вызывается (работает правильно):

<span ng-click="remove(123)">Delete</span>

Выражение '{{user.id}}' вычисляется правильно и имеет только целочисленные значения.

Кто-нибудь знает, что происходит? То же самое происходит с тегами привязки (с href = "").

Ваш Ответ

2   ответа
35

ng-click="remove(user.id)" должен работать, ng-click оцените его содержимое, чтобы вам не требовалась интерполяция

О, хорошо, спасибо. Что меня раздражало, так это то, что исключений не было, и HTML-код выглядел абсолютно нормально, потому что выражение было оценено правильно. Sam
Чтобы быть более точным, ngClick будет запускать любую строку внутри кавычек через $ eval (). Более подробную информацию можно найти здесь:docs.angularjs.org/api/ng.$rootScope.Scope#$eval Ben Lesh
7

буйте это вместо:

<span ng-click="remove(user.id)">Delete</span>

И не забудьте проверить документацию AngularJS выражений:http://docs.angularjs.org/guide/expression

+1 за выражение ссылки. благодаря тонну. rjha94

Похожие вопросы