我正在尝试覆盖 Jade script.
标记,但我所做的一切都不起作用。
我有以下代码:
布局.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();
});
到这里,一切都很好,脚本运行得非常顺利。但是当我需要从其他 View 添加另一个脚本时,从 View 添加的 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();
});
我怎样才能做到这一点?
编辑 - 完整文件:
最佳答案
当一个 View 扩展
另一个 View 时,它不再允许松散的内容。 anyView.jade
中的 script.
因无效而被丢弃。
It's expected to be placed under a block
,例如脚本
。您可以使用 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>
<!-- ... -->
关于javascript - 覆盖 Jade 脚本。堵塞,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30564398/