Angular ng-click给出语法错误:Token '{'表达式第22列处的键无效
Angular ng-click giving Syntax Error: Token '{' invalid key at column 22 of the expression
在我发布我的问题之前,只是想让你知道我搜索了足够多,找不到解决方案。这个问题把我难住了。
我有以下代码。第一次ng-click正确地将ID插入到函数中,但会产生角度误差(在主题中提到)。第二个ng-click既不生成错误,也不插入ID,而是呈现文字。
我搜索了所有的论坛,大多数提到使用它像我的第二次点击,但它不适合我。需要帮助!
<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或Chrome开发者工具栏的HTML检查器中,你会看到代码将呈现
<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或Chrome开发人员工具栏的HTML检查器中,你会看到代码将呈现
<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>
这次成功了
相关文章:
- Javascript-如何读取json文件中的列并将其保存在Javascript数组中
- java.net和javascript之间正则表达式的差异
- 如何在Google柱状图中动态添加行/列
- Grunt匹配正则表达式
- 不同浏览器中的空白字符正则表达式行为
- CSS表格:从列平移到整个表格宽度
- ng init中的表达式无法使用ng repeat
- 正则表达式在字符串中找到base64
- 我的AngularJS表达式没有'不起作用
- 具有rowGrouping的数据表无法隐藏列
- 正则表达式删除列“|”字符
- 在excel列上应用正则表达式后创建逗号分隔的文本
- Javascript:在HTML表中,如何从一列中选择部分文本(匹配一些正则表达式),并将其移动到下一列
- 语法错误:令牌'mod'意外,在表达式[partials/{{mod}}.html]的第12列处应为[:
- Angular ng-click给出语法错误:Token '{'表达式第22列处的键无效
- 用于查找和修剪(前后空白)第一列的正则表达式
- 给定一个有效的href,原点、路径名、搜索和散列的正则表达式是什么?
- 列的类型是时间戳,不带时区,但表达式的类型是整数
- 检查URL散列以使用正则表达式查找节和页面
- 如何在JQuery中使用正则表达式在json字符串上搜索数据表列