你能在脚本中渲染swigjs吗
Can you render swigjs inside scripts?
我正在为我的一个网站使用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错误的情况下通过。
使用json过滤器,您就应该设置好了!
$('#addpiece').click(function(event){
var jsoned = {{ media|json }};
console.log(jsoned);
});
{{ media }}
需要生成正确的javascript代码。它不可能只是一个物体。尝试将它从服务器端转换为JSON,然后通过客户端javascript读取。
我也遇到了同样的问题,添加"safe"而不是"json"就解决了。
$('#addpiece').click(function(event){
var jsoned = {{ media|safe }};
});
其中数组类似于:
media = [ [ 'a1', 'b1', 'c1' ], [ 'a3', 'b2', 'c2' ] ]
相关文章:
- 当包含另一个asp文件时,是否也包含所有引用的样式和脚本页面
- 借助asp.net验证或java脚本对多个文本进行验证
- chrome扩展:尽管运行了at:documentidle,js脚本还是过早启动
- Java脚本时间添加
- 不显示带有本地json文件数据的谷歌地图脚本
- JQuery添加元素需要在我的js之前再次添加JQuery脚本
- 从远程脚本获取用户IP
- 如何根据时间运行不同的脚本
- 如何将字符串值从php页面发送到java脚本页面
- 使用谷歌应用程序脚本将服务器端数据表返回到客户端
- 可以设置“;文件名"发生错误时显示的内联脚本标记的
- 当脚本由system.js加载时,如何要求('electron')
- HTML标记在脚本标记中工作
- 是否可以控制获取哪些Google地图脚本(JavaScript API)
- 使用谷歌应用程序脚本从工作表中获取值并将其显示在文本框中
- 显示时间的脚本
- ng应用程序使脚本无限运行
- 如何在运行时在angular 2中加载外部js脚本
- Google Adsense多次加载脚本
- 你能在脚本中渲染swigjs吗