Angular ng-click giving Syntax Error: Token '{' invalid key at column 22 of the expression
Angular ng-click giving Syntax Error: Token '{' invalid key at column 22 of the expression
在我 post 我的问题之前,只是想让你知道我搜索了足够多但找不到解决方案。这个问题很困扰我。
我有以下代码。首先 ng-click 在函数中正确插入 ID,但会生成 angular 错误(在主题中提到)。第二次 ng-click 既不生成错误也不插入 ID,而是呈现文字。
我搜索了所有论坛,大多数人都提到像我的第二次 ng-click 一样使用它,但它对我不起作用。需要帮助!
<tr ng-repeat="registration in vm.filteredList">
<td>{{registration.id}}</td>
<td>{{registration.dateModified | date}}</td>
<td>
<a class="btn btn-primary" ng-click="vm.editRegistration({{registration.id}})" href="#">E</a>
<a class="btn btn-danger" ng-click="vm.deleteRegistration(registration.id)" href="#">D</a>
</td>
</tr>
答案:
我做了一些测试,发现它让新手感到困惑,因为在 FF 的 HTML 检查器或 Chrome 开发人员工具栏中,您会看到代码将呈现
<a class="btn btn-danger" ng-click="vm.deleteRegistration(registration.id)" href="#">D</a>
<a class="btn btn-danger" ng-click="vm.deleteRegistration(registration.id)" href="#">D</a>
<a class="btn btn-danger" ng-click="vm.deleteRegistration(registration.id)" href="#">D</a>
而不是
<a class="btn btn-danger" ng-click="vm.deleteRegistration(1)" href="#">D</a>
<a class="btn btn-danger" ng-click="vm.deleteRegistration(2)" href="#">D</a>
<a class="btn btn-danger" ng-click="vm.deleteRegistration(3)" href="#">D</a>
但是当实际函数触发时它会传递正确的值。例如下面的函数将接收并显示 1,2,3 等
vm.deleteRegistration = function (id) { alert("ID: " + id)};
希望它解释和帮助。
应该使用
ng-click="vm.editRegistration(registration.id)"
没有{{
&}}
我做了一些测试,发现它让新手感到困惑,因为在 FF 的 HTML 检查器或 Chrome 开发人员工具栏中,您会看到代码将呈现
<a class="btn btn-danger" ng-click="vm.deleteRegistration(registration.id)" href="#">D</a>
<a class="btn btn-danger" ng-click="vm.deleteRegistration(registration.id)" href="#">D</a>
<a class="btn btn-danger" ng-click="vm.deleteRegistration(registration.id)" href="#">D</a>
而不是
<a class="btn btn-danger" ng-click="vm.deleteRegistration(1)" href="#">D</a>
<a class="btn btn-danger" ng-click="vm.deleteRegistration(2)" href="#">D</a>
<a class="btn btn-danger" ng-click="vm.deleteRegistration(3)" href="#">D</a>
但是当实际函数触发时它会传递正确的值。例如下面的函数将接收并显示 1,2,3 等
vm.deleteRegistration = function (id) { alert("ID: " + id)};
希望它解释和帮助。
我正在使用代码:
<div ng-click="joinPublicCourse({{course.id}})">
</div>
但是浏览器一直在记录 "Token '{' invalid key at column 19 of the expression...."
错误。
课程的定义是这样的:
course = {
id: '123',
...
}
然后我想angualrjs可以把course.id
作为一个变量名,而不是一个普通的字符串。所以我更改了我的代码:
<div ng-click="joinPublicCourse('{{course.id}}')">
</div>
这次成功了。
在我 post 我的问题之前,只是想让你知道我搜索了足够多但找不到解决方案。这个问题很困扰我。
我有以下代码。首先 ng-click 在函数中正确插入 ID,但会生成 angular 错误(在主题中提到)。第二次 ng-click 既不生成错误也不插入 ID,而是呈现文字。
我搜索了所有论坛,大多数人都提到像我的第二次 ng-click 一样使用它,但它对我不起作用。需要帮助!
<tr ng-repeat="registration in vm.filteredList">
<td>{{registration.id}}</td>
<td>{{registration.dateModified | date}}</td>
<td>
<a class="btn btn-primary" ng-click="vm.editRegistration({{registration.id}})" href="#">E</a>
<a class="btn btn-danger" ng-click="vm.deleteRegistration(registration.id)" href="#">D</a>
</td>
</tr>
答案:
我做了一些测试,发现它让新手感到困惑,因为在 FF 的 HTML 检查器或 Chrome 开发人员工具栏中,您会看到代码将呈现
<a class="btn btn-danger" ng-click="vm.deleteRegistration(registration.id)" href="#">D</a>
<a class="btn btn-danger" ng-click="vm.deleteRegistration(registration.id)" href="#">D</a>
<a class="btn btn-danger" ng-click="vm.deleteRegistration(registration.id)" href="#">D</a>
而不是
<a class="btn btn-danger" ng-click="vm.deleteRegistration(1)" href="#">D</a>
<a class="btn btn-danger" ng-click="vm.deleteRegistration(2)" href="#">D</a>
<a class="btn btn-danger" ng-click="vm.deleteRegistration(3)" href="#">D</a>
但是当实际函数触发时它会传递正确的值。例如下面的函数将接收并显示 1,2,3 等
vm.deleteRegistration = function (id) { alert("ID: " + id)};
希望它解释和帮助。
应该使用
ng-click="vm.editRegistration(registration.id)"
没有{{
&}}
我做了一些测试,发现它让新手感到困惑,因为在 FF 的 HTML 检查器或 Chrome 开发人员工具栏中,您会看到代码将呈现
<a class="btn btn-danger" ng-click="vm.deleteRegistration(registration.id)" href="#">D</a>
<a class="btn btn-danger" ng-click="vm.deleteRegistration(registration.id)" href="#">D</a>
<a class="btn btn-danger" ng-click="vm.deleteRegistration(registration.id)" href="#">D</a>
而不是
<a class="btn btn-danger" ng-click="vm.deleteRegistration(1)" href="#">D</a>
<a class="btn btn-danger" ng-click="vm.deleteRegistration(2)" href="#">D</a>
<a class="btn btn-danger" ng-click="vm.deleteRegistration(3)" href="#">D</a>
但是当实际函数触发时它会传递正确的值。例如下面的函数将接收并显示 1,2,3 等
vm.deleteRegistration = function (id) { alert("ID: " + id)};
希望它解释和帮助。
我正在使用代码:
<div ng-click="joinPublicCourse({{course.id}})">
</div>
但是浏览器一直在记录 "Token '{' invalid key at column 19 of the expression...."
错误。
课程的定义是这样的:
course = {
id: '123',
...
}
然后我想angualrjs可以把course.id
作为一个变量名,而不是一个普通的字符串。所以我更改了我的代码:
<div ng-click="joinPublicCourse('{{course.id}}')">
</div>
这次成功了。