【问题标题】:script. JADE tag doesn't render in Express脚本。 JADE 标签不会在 Express 中呈现
【发布时间】:2017-06-16 03:44:16
【问题描述】:

我希望在我的 JADE 模板中有客户端脚本并写了

扩展布局

script.
    function collect_data() {

        var transitions = {};

        $( ":checkbox:checked" ).each(function (index, element) {
        //// some code
    }

block content
    h1= title

    table
        - for (var i = 1; i < images.length; ++i) {
            - var image;
            // and so on

我期待类似的东西

<script>
    function collect_data() {

    var transitions = {};
    ...

</script>

在我的网页源中,但我没有看到它。

什么不正确?如何在 Jade 中将嵌入的 javascript 渲染成模板?

【问题讨论】:

    标签: javascript node.js express pug


    【解决方案1】:

    您正在通过

    扩展布局

    extends layout

    这意味着你在一个子模板中,根据 pug 的docs common mistakes section

    请注意,只有命名块和 mixin 定义可以出现在子模板的顶层(未缩进)。这个很重要!父模板定义页面的整体结构,子模板只能附加、前置或替换特定的标记和逻辑块。如果子模板试图在块之外添加内容,Pug 将无法知道将其放在最终页面的哪个位置。

    这意味着你应该这样做

    //- layout.pug
    html
      head
        block head
      body
        block content
    

    在子模板中你可以做这样的事情

    extends layout
    
    block append head
      script.
            function collect_data() {
    
                var transitions = {};
    
                $( ":checkbox:checked" ).each(function (index, element) {
                //// some code
            }
    

    将使其出现在您的layouthead 部分下

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-07-12
    • 2014-02-17
    • 1970-01-01
    • 2014-11-24
    • 1970-01-01
    • 1970-01-01
    • 2012-08-02
    • 1970-01-01
    相关资源
    最近更新 更多