Open ghost opened 8 years ago
居然 #script
没法用 #block
替换
特意试了下,用 #block 是可以的。
可能你没用正确,用来覆盖的 #block
必须是 #extend
的孩子节点,你别放到某个 #block
里面。
info.vm
<div>xxx</div>
#block("info_script")
#script()
require(['js/page/info/info'], function (InfoPage) {
InfoPage._init()
})
#end
#end
sq.vm
#extend("./info.vm")
#block("info_script")
#script()
require(['js/page/sq/sq'], function (Sq) {
Sq._init()
})
#end
#end
#end
貌似这边依然不行,我进行了覆盖,但是发现在 sq
页面 中,依然还是会加载 info.vm
中引入的 js
文件,略有蛋疼。我这边使用的 jello
是 v1.0.3
版本,不知道是否是版本的问题?多谢帮助
我刚刚是 fis3-jello 测试的,你替换下最新的 jar 包试试? jello server open 后可以能找到原来的 jar 文件。
最新的jar 有两个途径。
fis3 server start --type jello
后 fis3 server open
后可以找到。 可以了。
多谢啦,我先完成业务代码,后续考虑再是否升级到 fis3-jello
背景是这样的: 目前正在使用
jello
开发项目,info.vm
是一个公共的文件,所有的页面文件都会引用,在它内部加载了一个用于全部页面文件的info.js
。遇到的问题: 业务有变化,在其中加入了独立逻辑的新文件(
sq.vm
,它有自己的sq.js
),在样式方面仍然沿用info.vm
,sq.vm
的父模板是info.vm
。 他们的js
文件都拥有submit
等等事件,所以出现了不必要的多次监听。 我想过使用e.stopImmediatePropagation
方法,但是发现可能是继承的关系,info.js
先于sq.js
加载,是否可以让sq.vm
仅仅覆盖info.vm
的js
部分,如下:尝试过使用
#block
包含#script
的方法,但是发现不行