Angular ng-click在表达式的第22列给出语法错误:令牌'{'无效键

pro*_*boy 6 javascript angularjs angularjs-ng-click

在我发布我的问题之前,只是想让你知道我搜索得足够多,无法找到解决方案.这个问题困扰着我.

我有以下代码.首先单击ng键正确插入函数中的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>
Run Code Online (Sandbox Code Playgroud)

回答:

我做了一些测试,发现它让新手感到困惑,因为在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>
Run Code Online (Sandbox Code Playgroud)

代替

<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>
Run Code Online (Sandbox Code Playgroud)

但是当实际函数触发时,它将传递正确的值.例如下面的功能将接收并显示1,2,3等.

vm.deleteRegistration = function (id) { alert("ID: " + id)};
Run Code Online (Sandbox Code Playgroud)

希望它能解释并提供帮助.

Vin*_*eet 9

应该用

ng-click="vm.editRegistration(registration.id)"
Run Code Online (Sandbox Code Playgroud)

没有{{&}}