2015-06-26 53 views
1

我嘗試調用一個函數的字符串作爲參數傳遞函數的參數字符串

<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}}")但仍然是相同的問題

+0

包裝在單引號'toggleSelection(「{{user.name}}」)' – GillesC

+0

還需要圍繞價值的報價和id屬性作爲字符串包含空格。 – GillesC

+0

我認爲不需要雙引號或單引號或任何插值。你可以傳遞變量。 –

回答

0

儘管@TOM回答了這個問題,但並未解釋爲什麼它不起作用。

你不應該在ng-click裏面使用{{}},因爲ng-click沒有使用插值{{}}指令直接訪問做範圍變量。

你發現,因爲在評估toggleSelection({{user.name}})此功能$parser錯誤拋出Syntax Error:

你可以只通過直接範圍變量固定它。

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

做upvote如果它確實幫助你..謝謝:) –

0

您不需要角來解析您的字符串,只需傳遞對象user.name

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

我還在您的valueid屬性中添加了引號。