覆盖Jade脚本。块

时间:2015-06-01 01:13:19

标签: javascript node.js express pug

我试图覆盖Jade script.标记,但我所做的一切都不起作用。

我有以下代码:

Layout.jade

    block foot
    footer.container#footer
        .row
            .twelve.columns Todos os direitos reservados. © 2015 Pet Feeder

block scripts
    script(src="/javascripts/js/jquery.min.js")
    script(src="/javascripts/lib/jQueryUI/jquery-ui-1.8.18.custom.min.js")
    script(src="/javascripts/js/s_scripts.js")
    script(src="/javascripts/js/jquery.ui.extend.js")
    script(src="/javascripts/lib/qtip2/jquery.qtip.min.js")
    script(src="/javascripts/lib/fullcalendar/fullcalendar.min.js")
    script(src="/javascripts/js/jquery.list.min.js")
    script(src="/javascripts/js/pertho.js")

script.
    $(document).ready(function(){
        prth_common.init();         
    });

直到这里,一切都很好,剧本就像一个魅力。但是,当我需要从其他视图中添加另一个脚本时,从视图中添加的script.不起作用。它们根本没有被添加。

anyView.jade

block content
//my content here    
script.
function sendForm(){
$.ajax({
    url:'/some/controller',
    data:$("#form_save").serialize(),
    type:'POST',
    dataType:'JSON',
    beforeSend:function(){
      //some stuff here
    },
    success:function(data){
      console.log(data);
    }
  });
}
$("#submit_form").click(function(){
  sendForm();
});

我该怎么做?

编辑 - 完整文件:

https://gist.github.com/sp4rtablood/e59075d52d594cbaa4bf

https://gist.github.com/sp4rtablood/f0d6d83aa93be9773b85

1 个答案:

答案 0 :(得分:1)

当另一个视图TestFlight时,它不再允许内容松散。 extends中的script.被视为无效。

It's expected to be placed under a block,例如anyView.jade。您可以使用scriptsappend

之后插入它
script(src="/javascripts/js/pertho.js")

那应该产生:

extends layout

block content
    # ...

block append scripts
    script.
        function sendForm(){
            // ...
        }
        $("#submit_form").click(function(){
          sendForm();
        });