У меня есть приложение meanjs. В моем html у меня есть следующее
<button class="btn btn-primary" data-ng-click="addMember({{user._id}});" >
<i class="glyphicon glyphicon-plus"></i>
</button>
HTML отлично выглядит (см. Ниже)
<button class="btn btn-primary" data-ng-click="addMember(55a897dfad783baa677e1326);" >
<i class="glyphicon glyphicon-plus"></i>
</button>
Но он вызывает следующую ошибку в консоли
Error: [$parse:syntax] Syntax Error: Token 'user._id' is unexpected, expecting [:] at column 13 of the expression [addMember({{user._id}});] starting at [user._id}});].
http://errors.angularjs.org/1.2.28/$parse/syntax?p0=user._id&p1=is%20unexpected%2C%20expecting%20%5B%3A%5D&p2=13&p3=addMember(%7B%7Buser._id%7D%7D)%3B&p4=user._id%7D%7D)%3B
Если я добавлю одиночную цитату вокруг метода
<button class="btn btn-primary" data-ng-click="addMember('{{user._id}}');" >
<i class="glyphicon glyphicon-plus"></i>
</button>
Все сделано отлично в HTML, никаких ошибок в консоли, но как только метод вызывается (в контроллере)
$scope.addMember = function(userid) {
console.log(userid);
};
он выводит строковый литерал {{user._id}}
вместо 55a897dfad783baa677e1326
Что я делаю неправильно?
Используйте ng-click
пропуская user.id
без {{ }}
. Как и ng-click="addMember(user._id);
ng-click
передавая user.id без{{ }}
.ng-click="addMember(user._id);"