重写Jade脚本.块

Override Jade script. block

本文关键字:脚本 Jade 重写      更新时间:2023-09-26

我正在尝试覆盖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

当一个视图extends另一个,它不再允许松散的内容。anyView.jade中的script.无效,将被丢弃。

应该放在block下面,比如scripts。您可以使用append将其插入script(src="/javascripts/js/pertho.js"):

之后。
extends layout
block content
    # ...
block append scripts
    script.
        function sendForm(){
            // ...
        }
        $("#submit_form").click(function(){
          sendForm();
        });

应该生成:

<!-- ... -->
<script src="/javascripts/js/pertho.js"></script>
<script>
        function sendForm(){
            // ...
        }
        $("#submit_form").click(function(){
          sendForm();
        });
</script>
<!-- ... -->