我正在使用nodejs + express + swigjs作为我的网站而被卡住了。我有一个<select>
,其中包含<option>
,其中包含传递给我模板的变量。选择我想要的选项后,在<script>
内,找到该选项并在页面的其他位置使用它。
你能用swig做到吗?我查看了他们的文档并且没有找到允许这种情况发生的过滤器/选项/标签。我很想看到一个例子。谢谢!
编辑:这是我正在尝试做的事情。我的控制器使用以下指令呈现模板:
res.render('pages/edit.html', {
page: res.locals.page,
content: results,
media: media,
directives: directives
});
在我的模板中,我想要执行以下操作:
$('#addpiece').click(function(event){
var jsoned = {{ media }};
console.log(jsoned);
});
media
是一个对象数组。
但无论我如何过滤数据,如果没有发生javascript错误,它都无法通过。
答案 0 :(得分:3)
使用json filter,您应该设置!
$('#addpiece').click(function(event){
var jsoned = {{ media|json }};
console.log(jsoned);
});
答案 1 :(得分:0)
{{ media }}
需要生成适合javascript的代码。它不能只是一个对象。尝试将服务器端转换为JSON,然后通过客户端javascript读取它。
答案 2 :(得分:0)
我遇到了同样的问题,并且解决了添加“安全”而不是“json”的问题。
$('#addpiece').click(function(event){
var jsoned = {{ media|safe }};
});
数组的位置如下:
media = [ [ 'a1', 'b1', 'c1' ], [ 'a3', 'b2', 'c2' ] ]