swig テンプレートと既存の json データ (残念ながら変更できません) を操作する際、変数がハイフンでつながれているとデータのレンダリングに問題が発生します。docsに明確に記載されているように、ブラケット表記を使用して状況を処理できることがわかりましたが、何らかの理由で、期待される結果を達成できません。私は他のテンプレート言語を知っていますが、パフォーマンスやその他の利点のために swig を使用することに熱心です。
どんな洞察も大歓迎です。
テスト ケース ファイル:
レイアウト.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;
})();
});