gpt4 book ai didi

javascript - Handlebars 模板,使用字符串键访问上下文变量

转载 作者:行者123 更新时间:2023-11-29 15:41:51 25 4
gpt4 key购买 nike

假设我有一个像这样的 Handlebars 模板:

      <script id="entry-template" type="text/x-handlebars-template">
<div class="entry">
<h1>{{i18n.title}}</h1>
</div>
</script>

我真正想做的是这样的:

var source   = $("#entry-template").html();
var template = Handlebars.compile(source);
var context = {"title.t":"My New Post"}
console.log(template(context));

当我尝试在上面的上下文中使用字符串作为键进行解析时,hanslebars 就像键不可用一样。我明白正常情况下结构应该是这样的:

var context = {
i18n:{
title:'test'
}
}

但是因为我将从外部源获取我的 118n 字符串,所以将它们用作键会更容易。啊,是的,我知道像 i18n.js 这样的项目,但实际问题是:我可以在上下文对象中使用带点的字符串键吗?如果可以,我如何从 handlebars 模板访问它们?

最佳答案

老问题,但我仍然想发布我发现的内容。

如果键值对的键表示为字符串,您可以将字符串本身放在 Handlebars 模板占位符中。

所以如果你的上下文是:

var context = {
"key":"value"
}

与此相反:

var context = {
key: "value"
}

您可以在模板中执行此操作以显示值:

<p>{{"key"}}</p>

因此,handlebars 会将其视为属性名称,并显示该值。

例子:

var names = {
"first": "John",
"last": "Doe"
}
<script id="names-template" type="text/x-handlebars-template">
<p>First Name: {{"first"}}</p>
</script>

将输出:

名字:约翰

这尊重键字符串中的空格和其他字符,我们对其进行了测试,它也适用于字符串中的点。试一试,然后告诉我。

关于javascript - Handlebars 模板,使用字符串键访问上下文变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17969339/

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