如何在ejs中将对象作为参数发送。当我尝试在测试函数的参数中发送对象时,它打印undefined。
</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 :(得分:1)
看起来<%= %>
字符串化了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) %>)">
所以我无法重现你的未定义&#34;行为。
然而,看起来有一种方法可以让它发挥作用:
test
ng-click="test(<%= usr.id %>)"
函数实际上在这里接收一个对象,而不是字符串。
或者,您只能将用户的id传递给delete函数,如下所示:
public void enterValues(Scanner scan, ArrayList<Double> values){
Double dValue= (double) 0;
do{
System.out.println("Enter value to convert: £");
dValue= scan.nextDouble();
if(dValue != -1)
values.add(dValue);
}while(dValue != -1);
System.out.println("Values entered. Returning to main menu.");
mainMenu(scan, values);
}
答案 1 :(得分:0)
您可以通过渲染模板发送任何数据。
res.render("myPage",{title:"String",age:Number,userlist:[{},{},{}]}})