关于include的正确理解和用法
来源:互联网 发布:爱奇艺网络剧排行榜 编辑:程序博客网 时间:2024/06/15 21:24
模板用include引入是非常灵活的一种布局方案。
但是由于官方教程说的不是太清楚,常造成误解。所以来说两句:
1.首先include引入的模板和action对应的模板之间的区别。
这是最容易混淆的。action对应的模板是和action绑定的。
而include模板和action么有任何关系!
include模板只是一段html,可以放在任何地方。它的参数不会经过定义它的那个action的解析,而是使用它的那个action才影响它的解析。
如果你用过js的模板就很好理解。
混淆的地方是include可以用控制器/方法的模式引用,这个意思只是说action控制器的view也可以作为模板来使用。但是使用的只是view中的html代码而已。action当中的代码是不会被执行的!
2.include的数据来源。
include的数据源不是action,而是在include标签中传入的,比如官方教程的例子:
<include file="Public/header" title="ThinkPHP框架" keywords="开源 WEB开发框架" />
这里title和keywords是两个变量传递到include模板中了,这两个变量可不是action提供的啊。
结论:
include模板是独立的,可以再任何地方调用。具有接收参数的功能。
牢记;谁用谁传参!
把action的view作为include模板只是方便使用现成的html而已。当action对应的view作为include模板引入的时候,它已经异化成了独立的html片段,和action没有任何关系了。所以官方的说法:
注意,包含模版文件并不会自动调用控制器的方法,也就是说包含的其他模版文件中的变量赋值需要在当前操作中完成。
include中如果包含变量,来源也是当前使用这个include的action,而不是作为view来源的那个action!那个action是不会被执行的!现在你可以理解了吧。
所以,理解include模板的关键就是它是很多可以重用的html片段的组织方式。至于这些片段是独立存在的html还是action中的view都无所谓。
至于本人的做法,则是放到放置css,img,js的那个public文件夹下面。加一个htmltpl的文件夹,引用的时候
<include file="./Public/htmltpl/abc.html" />
但是由于官方教程说的不是太清楚,常造成误解。所以来说两句:
1.首先include引入的模板和action对应的模板之间的区别。
这是最容易混淆的。action对应的模板是和action绑定的。
而include模板和action么有任何关系!
include模板只是一段html,可以放在任何地方。它的参数不会经过定义它的那个action的解析,而是使用它的那个action才影响它的解析。
如果你用过js的模板就很好理解。
混淆的地方是include可以用控制器/方法的模式引用,这个意思只是说action控制器的view也可以作为模板来使用。但是使用的只是view中的html代码而已。action当中的代码是不会被执行的!
2.include的数据来源。
include的数据源不是action,而是在include标签中传入的,比如官方教程的例子:
<include file="Public/header" title="ThinkPHP框架" keywords="开源 WEB开发框架" />
这里title和keywords是两个变量传递到include模板中了,这两个变量可不是action提供的啊。
结论:
include模板是独立的,可以再任何地方调用。具有接收参数的功能。
牢记;谁用谁传参!
把action的view作为include模板只是方便使用现成的html而已。当action对应的view作为include模板引入的时候,它已经异化成了独立的html片段,和action没有任何关系了。所以官方的说法:
注意,包含模版文件并不会自动调用控制器的方法,也就是说包含的其他模版文件中的变量赋值需要在当前操作中完成。
include中如果包含变量,来源也是当前使用这个include的action,而不是作为view来源的那个action!那个action是不会被执行的!现在你可以理解了吧。
所以,理解include模板的关键就是它是很多可以重用的html片段的组织方式。至于这些片段是独立存在的html还是action中的view都无所谓。
至于本人的做法,则是放到放置css,img,js的那个public文件夹下面。加一个htmltpl的文件夹,引用的时候
<include file="./Public/htmltpl/abc.html" />
浅显的理解,不知道说明白了没有。
原文地址:点击打开链接
阅读全文
0 0
- 关于include的正确理解和用法
- 关于include的正确理解和用法
- #include "" 和include<>的用法
- #include "" 和include<>的用法
- C语言中,#include的用法:#include "" 和 #include<>区别
- 关于画布canvas的rotate()和translate()的正确理解
- 关于c语言#include的用法
- #include"" 和#include<> 用法区别
- php中include和require的用法
- C和C++中include的用法
- php中include和require的用法
- 关于<jsp:include和<%@ include的区别
- C++中,关于#include<***.h>和#include"***.h"的区别
- C++中,关于#include<***.h>和#include"***.h"的区别
- C++中,关于#include<***.h>和#include"***.h"的区别
- 关于include指令和include动作的区别
- 关于#include<**.h>和#include"**.h"的区别
- 关于O(logN)的正确理解
- 你真的会用Retrofit2吗?Retrofit2完全教程
- PHP 超级全局变量
- MyBatis(一) 简介和基本原理
- SylixOS中RTC设备驱动
- FAST特征点检测&&KeyPoint类
- 关于include的正确理解和用法
- Json字符串转为map或数组或集合
- 去除inline-block元素间间距的N种方法
- Ubuntu的目录结构
- arm-linux-ld
- python3学习之list
- MongoDB数据备份
- Java写入文件的几种方法分享
- lex && yacc