无法将文档ID从句柄

时间:2018-04-24 16:39:25

标签: mongodb express handlebars.js

我已经从数据库中生成了一个项目列表,我想为每个条目添加一个删除按钮,以删除所选项目。我知道onclick需要一个事件,但我不知道如何传递数据库ID,所以我知道要删除哪个记录。这是我的模板(把手):

<ul class="bill-list">
  {{#each bills}}
    <li>{{this.name}}</li>
    <button>Edit</button>
    <button onclick="deleteBill({{this._id}})">Delete</button>
  {{/each}}
</ul>

当我点击删除时,我收到此错误: 未捕获的SyntaxError:无效或意外的令牌

有没有办法从事件中提取数据或id?

我的功能只是控制台日志:

function deleteBill(bill) {
  console.log(bill);
}

1 个答案:

答案 0 :(得分:0)

以下是您的代码片段,您会看到它应该有效:

var obj = { "bills" : [{"_id":1,"name":"name1"},{"_id":2,"name":"name2"},{"_id":3,"name":"name3"}]};

var source   = document.getElementById("template").innerHTML;
var template = Handlebars.compile(source);
document.getElementById("output").innerHTML = template(obj);

function deleteBill(bill) {
  console.log(bill);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/4.0.11/handlebars.js"></script>

<script id="template" type="text/x-handlebars-template">
<ul class="bill-list">
{{#each bills}}
    <li>{{this.name}}
    <button>Edit</button>
    <button onclick="deleteBill({{this._id}})">Delete</button>
    </li>
{{/each}}
</ul>
</script>

<div id="output"></div>