2012-10-13 9 views
10

Kiedy zadzwonić w ng-repeat grupyangularjs ng kliknij zdarzenie wywołane tylko z dosłownych argumentów

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

usunąć funkcji jest nie nazywa

ale kiedy wymienić wyrażenie za pomocą dosłownego argumentu zostaje wywołane (działa poprawnie):

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

Wyrażenie "{{user.id}}" jest poprawnie obliczane i ma tylko wartości całkowite.

Czy ktoś wie, co się dzieje? Podobnie dzieje się z tagami kotwiczącymi (z href = "").

Odpowiedz

34

ng-click="remove(user.id)" powinny działać, ng kliknij ocenić to zawartość więc nie trzeba interpolacji

+0

Oh ok, dziękuję. Zirytowało mnie to, że nie został zgłoszony żaden wyjątek, a kod HTML wyglądał absolutnie dobrze, ponieważ wyrażenie zostało poprawnie ocenione. – Sam

+1

Aby być bardziej szczegółowym, ngClick będzie uruchamiał dowolny ciąg w cudzysłowach za pomocą $ eval(). Więcej informacji można znaleźć tutaj: http://docs.angularjs.org/api/ng.$rootScope.Scope#$eval –

6

Nie należy używać nawiasów klamrowych w wyrażeniach NG-kliknij. Spróbuj to zamiast:

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

I pamiętaj, aby sprawdzić dokumentację angularjs wyrażeń: http://docs.angularjs.org/guide/expression

+1

+1 dla łącza wyrażenia. dzięki za tonę. – rjha94

Powiązane problemy