gpt4 book ai didi

javascript - Handlebars 未接收物体

转载 作者:行者123 更新时间:2023-12-03 12:42:31 25 4
gpt4 key购买 nike

Handlebars 拒绝合作。我有这个模板

<script id="edit_client_modal" type="text/x-handlebars-template">

<fieldset>

<input type="text" class="" value="{{name}}" />
<input type="text" class="" value="{{email}}" />
<input type="text" class="" value="{{phone}}" />

</fieldset>

我尝试用这样的一些值填充它

var tr = $(this).closest("tr");
var current_data = {
"name": $.trim(tr.find("td.contact_name").text()),
"email": $.trim(tr.find("td.contact_email").text()),
"phone": $.trim(tr.find("td.contact_phone").text())
}


var source = $("#edit_client_modal").html();
var template = Handlebars.compile(source);
var options = {options: current_data};

edit_contact_html = template(options);

但是输入不会填充值。这里出了什么问题?

最佳答案

您的模板正在寻找 3 个属性:{name:'',email:'',phone:''}

但是您传递的对象只有一个 options属性(property)。因此它无法找到这些值并将它们留空。

你可以:

  • 调整模板以使用 options block :

    <fieldset>
    {{#with options}}
    <input type="text" class="" value="{{name}}" />
    <input type="text" class="" value="{{email}}" />
    <input type="text" class="" value="{{phone}}" />
    {{/with}}
    </fieldset>

  • 调整模板以使用正确的路径

    <fieldset>
    <input type="text" class="" value="{{options.name}}" />
    <input type="text" class="" value="{{options.email}}" />
    <input type="text" class="" value="{{options.phone}}" />
    </fieldset>

  • 保留模板并调整 JavaScript 以不将这些值包装在选项字段中:

    edit_contact_html = template(current_data);

关于javascript - Handlebars 未接收物体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23483007/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com