gpt4 book ai didi

node.js - 通过ejs将参数从node.js传递到knockout.js

转载 作者:太空宇宙 更新时间:2023-11-03 23:45:10 24 4
gpt4 key购买 nike

我有一个node.js,它使用mongodb数据并使用knockout.js输出列表

当我调用 View 时,我使用传递一个 json 结构

res.render('list', { items:json });

在 list.ejs 模板页面中,我定义了一个隐藏元素:

<input type="hidden" id="hidden" value="<%= items %>">

在 .js 文件中我读取了它的值:

var json=$("#hidden").val();
var tkts=jQuery.parseJSON(json);
var vm=new AppViewModel(tkts);

嗯...它可以运行,但我认为(希望)一定有更好的方法...例如,有没有办法避免隐藏的 html var?

最佳答案

目前我可以想到三种方法来做到这一点。

1.) 将数据分配给 JavaScript 代码中的变量:

<script type="text/javascript">solution1 = {"name": "solution1"}</script>

solution1

2.) 将数据属性添加到您喜欢的元素:

<div id="solution2" data-value='{"name": "solution2"}'></div>

JSON.parse(document.getElementById('solution2').dataset.value)

3.) 使用 script 标签并选择与 text/javascript 或 application/javascript 不同的内容类型

<script id="solution3" type="script" type="text/json">{"name": "solution3"}</script>

JSON.parse(document.getElementById('solution3').innerHTML)

现场演示

http://jsfiddle.net/bikeshedder/sbjud/

个人备注

这可能听起来很无聊,但第一个选项可能是最好的选择。它速度快,需要尽可能少的代码并且可以正常工作。如果您可以立即将数据作为 JavaScript 数据,我不明白为什么您希望首先将数据放在字符串中。

关于node.js - 通过ejs将参数从node.js传递到knockout.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14526509/

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