当前位置: 首页 > 面试题库 >

Jade模板,如何将具体对象传递给页面?

易弘亮
2023-03-14
问题内容

我的node.js项目有一个Jade模板。我想将一个对象发送到jade模板,并将其传递给页面内的一个函数(以呈现某些内容)。

我确定我是从服务器这样发送正确的东西

res.render(__dirname + '/pages/viz.jade', {
    vizJson: newJson,
});

在客户端中,我这样做:

script
    sunburst(#{vizJson})

因此,在脚本函数内部,我想调用一个函数,该函数使用在服务器端创建的json创建可视化。

问题是渲染时我有类似的东西sunburst([Object object])。我还尝试发送JSON的字符串化版本,但是当我这样做时JSON.parse(#{vizJson})会抱怨Unexpected token &

我发送的json始终是不同的,并且具有不同的深度级别。

有谁知道该怎么办?

谢谢


问题答案:

我希望这会帮助某人。我这样解决了:

script
    sunburst(!{JSON.stringify(vizJson)})

请注意!{...}包装stringify方法。



 类似资料:
  • 是否可以通过context将对象(比方说User(包含3个字符串属性-name、password、detail)传递给thymeleaf模板,并从模板中访问它的属性,例如 ? 如果是这样,我该怎么做? 匿名用户 如果你正在使用spring和thymeleaf,那么它们应该像魅力一样为你工作。在这种情况下,它非常简单: 其中myTemplate引用,其内容如下所示: 和我的实体 和我使用的沉香酒的版

  • 我在示例中看到如何将消息字符串传递给亚马逊 sns sdk 的发布方法。但是,是否有如何将自定义对象作为消息传递的示例?我尝试将“消息结构”设置为“json”,但随后我得到错误。我应该将对象值传递到参数中的哪个位置? 有什么例子吗?

  • 问题内容: 我有一个用express编写的node.js服务器,并在某个时刻将一个数组发送到某个.jade页面。问题在于,渲染Jade页面时,Jade编译器将数组呈现为,而Chrome上的JavaScript编译器则抱怨说“意外标识符”。 这是Jade代码: 如您所见,这确实很简单,我只是将由node.js传递给Jade 的变量内所给的信息填充到div中。第二行的警报不会触发,因为一旦我尝试分配变

  • 我知道接受参数和,所以我已经尝试了2次(失败)来包装函数和args...: a.创建一个C样式的函数,该函数将调用传递给它的对象: 这会在GCC 4.8.5中导致以下错误: /usr/include/c++/4.8.2/functional:在'struct std::_bind_simple(std::_placeholder<1>,int))(int*)>>()>'的实例化中:/usr/inc

  • 问题内容: 我有一个对象,其中包含多个通用键值道具,我想将它们传递给一些jsx。像这样: 我希望这可以作为传递单个道具的功能: 这可能吗? 问题答案: 这可能吗? 是的,为什么您认为不可能,但是发送方式不正确。 的含义是: 因此,如果您默认不指定任何值,它将采用。要传递对象,您需要这样编写: 更新: 如果您有一个对象,并且希望将所有属性作为单独的属性传递,则将其编写为:

  • 问题内容: 尝试访问传递给模板的函数时出现错误: 有人可以让我知道我在做什么错吗? 模板文件(struct.tpl): 调用文件: 这是用于生成struct样板代码的程序(以防万一有人想知道为什么我要在模板中这样做)。 问题答案: 自定义函数需要在解析模板之前进行注册,否则解析器将无法分辨标识符是否为有效的函数名。模板被设计为可静态分析的,这是必需的。 您可以先使用创建一个新的未定义模板,并且除了