在函数参数中传递一个字符串

时间:2015-06-26 17:38:52

标签: html angularjs

我尝试使用字符串作为参数调用函数

<input type="checkbox" value={{user.name}} id={{user.name}} ng-click="toggleSelection({{user.name}})">

但我有这个错误

Syntax Error: Token 'Marcus' is unexpected, expecting [)] at column 20 of the expression [toggleSelection(Julian Marcus)] starting at [Julian Marcus)].

我已经尝试了toggleSelection('{{user.name}}')toggleSelection("{{user.name}}"),但仍然存在同样的问题

2 个答案:

答案 0 :(得分:0)

您不需要使用angular来解析字符串,只需传递对象user.name

即可
<input type="checkbox" 
       value="{{user.name}}" 
       id="{{user.name}}"
       ng-click="toggleSelection(user.name)">

我还在valueid属性中添加了引号。

答案 1 :(得分:0)

虽然@TOM已回答了这个问题,但还没有解释为什么它无法运作。

您不应在{{}}内使用ng-click,因为ng-click可以直接访问范围变量而不使用插值{{}}指令。

您发现的错误是因为在评估toggleSelection({{user.name}})时此功能$parser会引发Syntax Error:

您可以使用直接范围变量修复它。

ng-click="toggleSelection(user.name)"