首页
App
&
Coffee
文档
项目
分享
反馈
俱乐部
登录
注册
关于模板的include和#@function()的疑问
david__
2017-06-28 18:53
#include("layout.html") #@layout()
这样写的话是不是将layout.html页面引入了两次? #@layout()不就是调用layout.html片段吗?
项目:
JFinal
评论区
JFinal
2017-06-28 21:13
#include("layout.html") 相当于是将 layout.html 中的内容原封不动的拿进来
特别注意一点 layout.html 中的 #define layout() 是函数定义,而不是函数调用,定义与调用有着本质的区别
完全想象成普通程序语言中的方法定义与方法调用就好理解了
还有一个更直接的理解方式:将 layout.html 中的所有内容 copy 过来,放在原来 #include("layout.html") 的位置,删掉原来的 #include("layout.html") 这一行代码
回复
david__
2017-06-29 10:59
@JFinal
其中#@layout()是不是将定义为layout()的模板拿进来
回复
JFinal
2017-06-29 11:38
@david__
#@layout() 是调用模板函数,一定要理解为将定义为 #define layout() 的模板拿进来也可以
总结一下:
1:定义
#define funcName()
body
#end
2:调用
#@funcName()
回复
david__
2017-06-29 14:25
@JFinal
谢谢
回复
发送
我要反馈
热门反馈
扫码入社
特别注意一点 layout.html 中的 #define layout() 是函数定义,而不是函数调用,定义与调用有着本质的区别
完全想象成普通程序语言中的方法定义与方法调用就好理解了
还有一个更直接的理解方式:将 layout.html 中的所有内容 copy 过来,放在原来 #include("layout.html") 的位置,删掉原来的 #include("layout.html") 这一行代码