[目录]
* [1.视图简介](#1)
* [2.加载视图](#2)
* [3.加载多个视图](#3)
* [4.传递视图数据形式](#4)
* [5.控制器传递数据,视图显示数据](#5)
[视图简介]
> [什么是视图?]* 简单来说,一个视图其实就是一个Web页面,或者页面的一部分,像页头、页脚、侧边栏等。* 视图不是直接被调用的,它必须通过控制器来加载。* 在MVC框架里,控制器扮演着类似于交警的角色,它专门负责读取特定的视图。* 如果你还没有读过 控制器 页面,你应该先看下这个。[顶部](#top)
[加载视图]
> [加载方式1: 没有数据,加载静态html]```class Index extends Contrllor(){ public function index(){ $this->load->view('视图名'); // [不带扩展名,默认是php扩展名] }}```> [加载方式2: 有数据,把数据放在一个数组中]*控制器代码 1*```class Index extends Contrllor(){ public function index(){ $str = 'Hello World!'; $data['str'] = $str; $this->load->view('index', $data); }}```*控制器代码 2*```class Index extends Controller{public function index(){ $data = array( 'title' => 'My Title', 'heading' => 'My Heading', 'message' => 'My Message' ); $this->db->view('index', $data); }}```[加载方式3: 在子目录存储视图]```$this->load->view('directory_name/file_name'); // 加载视图时需要包含子目录的名字```*视图代码*```// 输出data数组中键值str```[顶部](#top)
[加载多个视图]
>CodeIgniter 可以智能的处理在控制器中多次调用 $this->load->view() 方法。 如果出现了多次调用,视图会被合并到一起。例如,你可能希望有一个页头视图、 一个菜单视图,一个内容视图 以及 一个页脚视图。代码看起来应该这样:```?phpclass Page extends CI_Controller { public function index() { $data['page_title'] = 'Your title'; $this->load->view('header'); $this->load->view('menu'); $this->load->view('content', $data); $this->load->view('footer'); }}```[顶部](#top)
[传递视图数据形式]
* 形式1 以数组形式传递```$data = array( 'title' => 'My Title', 'heading' => 'My Heading', 'message' => 'My Message');$this->load->view('blogview', $data);```* 形式2 以对象形式传递```$data = new Someclass();$this->load->view('blogview', $data);```[顶部](#top)
[控制器传递数据,视图显示数据]
```load->view('blogview', $data); }}``````
```[顶部](#top)
网友评论