在swig模板中访问连字符json变量
Accessing hyphenated json variables within swig templates
使用swig模板和预先存在的json数据(不幸的是无法更改),当变量使用连字符时,我在呈现数据时遇到麻烦。发现这种情况可以通过使用括号符号来处理,正如文档中明确指出的那样,但由于某种原因,我无法达到预期的结果。我知道还有其他模板语言,但我更喜欢使用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 %}
索引。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/变量
而不是传递index.json
的内容作为整个locals
对象,只需将您的数据放在更深一层的键上,以便您可以使用括号符号…
swig.render('index.swig', { locals: { data: indexjson }});
{{ data['target-div'] }}
相关文章:
- 如何将单词(包括单词)与连字符匹配
- 删除图形和数字之间的连字符(-)符号
- JQuery根据连字符前的首字母对列表进行排序
- 如何替换javascript字符串中的前三个连字符
- 带有连字符的 Jquery 表排序器编号
- Javascript将所有文本框值更改为连字符
- regex中连字符的这种用法有效吗
- 使用连字符引用对象的属性名称
- 用连字符分隔匹配值
- 跳过用户输入的文本字符串中的特殊字符,并在 Javascript 中的每个单词后添加连字符
- 为什么不'我的javascript函数允许点,但允许连字符
- 如何防止电子邮件地址的css自动连字符
- 在数组中的偶数之间插入连字符
- JS Regex只允许数字、分号和连字符
- Javascript正则表达式,返回连字符和空格后面的数字
- 带有 JSON 连字符的角序
- 如何使用连字符访问JSON键
- 在swig模板中访问连字符json变量
- 如何获得JSON值与连字符的值(javascript. js . js)的名称
- Angularjs在ngSrc中使用连字符或破折号转义json