gpt4 book ai didi

javascript - 访问 swig 模板中带连字符的 json 变量

转载 作者:行者123 更新时间:2023-12-03 12:39:51 36 4
gpt4 key购买 nike

使用 swig 模板和预先存在的 json 数据(遗憾的是无法更改),当变量用连字符连接时,我在渲染数据时遇到问题。发现这种情况可以通过使用括号表示法来处理,如the docs中明确指出的,但由于某种原因,我无法达到预期的结果。我知道其他模板语言,但我热衷于使用 swig 来提高性能和其他好处。

非常感谢任何见解。

测试用例文件:

layout.swigtmpl

<body>
{% block content %}{% endblock %}
</body>

index.swig

{% extends 'layout.swigtmpl' %}
{% block content %}
<div>
<p>{{ targetdiv }}</p> // Works
<p>{{ ['target-div'] }}</p> // Not rendering
<p>{{ json['target-div'] }}</p> // Not rendering when assigned to an obj
</div>
{% endblock %}

index.json

{
"targetdiv": "lorem ipsum",
"target-div": "lorem ipsum"
}

在布局文件中,将json数据分配给一个对象进行测试,但没有喜欢。

$(function() {
var json = (function () {
var json = null;
$.ajax({
'async': false,
'global': false,
'url': 'index.json',
'dataType': "json",
'success': function(data) {
json = data;
}
});
console.log("json = " + json['target-div']); // Works fine in log
return json;
})();
});

文档: http://paularmstrong.github.io/swig/docs/#variables

最佳答案

无需将 index.json 的内容作为整个 locals 对象传递,只需将数据放在更深一层的键上,以便可以使用括号表示法。 ..

swig.render('index.swig', { locals: { data: indexjson }});

{{ data['target-div'] }}

关于javascript - 访问 swig 模板中带连字符的 json 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23571629/

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