2015-12-22 77 views
1

如何在ejs中發送對象作爲參數。當我嘗試在測試函數的參數中發送對象時,它會打印未定義的對象。如何在ejs中發送對象作爲函數參數

</tr> 
    <% userlist.forEach(function(usr){ %> 
    <tr> 
     <td><input readonly type="text" value="<%= usr.name %>"></td> 
     <td><input readonly type="text" value="<%= usr.email %>"></td> 
     <td style="cursor:pointer"> 
     <i title="edit data" style="padding-right:18px" class="fa fa-pencil"></i> 
     <i title="delete" ng-click='test(<%= usr %>)' class="fa fa-trash"></i></td>  
    </tr> 
    <% }) %> 
    <% } %> 
+0

目前還不清楚你問什麼,發送給誰和什麼對象? –

+0

以角度測試功能爲參數發送對象。這裏:ng-click ='test(<%= usr %>)' –

+0

它看起來像你在做什麼應該工作正常。用戶的姓名和電子郵件地址是否顯示在表格中?你能否展示你的AngularJS'test'函數? –

回答

1

它看起來像ejs stringifies無論是<%= %>標籤內。當我嘗試你的代碼,我得到這個錯誤:

Syntax Error: Token 'Object' is unexpected, expecting []] at column 16 of the expression [test([object] starting at [{4}]. 

所以我不能再現你的「未定義」的行爲。

但是,它看起來像有它的工作方式:

<button ng-click="test(<%= JSON.stringify(usr) %>)"> 

test函數實際上這裏接收的對象,而不是字符串。

或者,你只能通過用戶的ID給刪除功能,像這樣:

ng-click="test(<%= usr.id %>)" 
0

您可以通過渲染模板發送任何數據。

res.render("myPage",{title:"String",age:Number,userlist:[{},{},{}]}}) 
相關問題