这两种方法之间有什么区别:
$data['content'] = $this->load->view('content', NULL, true); // the content of the page
$this->load->view('layout', $data); //putting the content inside the layout, this include header, footer etc...
和
$this->load->view('top');
$this->load->view('content', $data);
$this->load->view('footer');
//这里有更多加载视图,如果需要,所以每个视图分开加载
我不知道这是否是最好的方法,但哪种方法更好用?或者如果你有更好的想法......
答案 0 :(得分:3)
这会将您的视图数据分配给$ mydata并且不会在浏览器上呈现,thrid参数'TRUE'将执行此操作
$mydata = $this->load->view('content', NULL, true);
这将直接在浏览器上呈现您的视图
$data = array();
$this->load->view('layout', $data);
并且您的第二个选择是最佳方法
答案 1 :(得分:1)
执行此操作时:
$data['content'] = $this->load->view('content', NULL, true);
$this->load->view('layout', $data);
您的视图内容被解析为字符串,因此您必须在布局视图中的某处回显$ content变量。
执行此操作时:
$this->load->view('top');
$this->load->view('content', $data);
$this->load->view('footer');
您的视图会发送到浏览器,以便他可以呈现它。第二个是最好的方法。它使您的代码更易于理解,更快速,更轻松地进行更改。
您可以在此处阅读有关观看次数的论坛:http://ellislab.com/codeigniter/user-guide/general/views.html
答案 2 :(得分:0)
$this->load->view('top');
$this->load->view('content', $data);
$this->load->view('footer');
是更好的选择,因为它需要更少的时间来执行和易于理解
答案 3 :(得分:0)
这两种方法中的每一种都有其优势,具体取决于您的使用方式。
当您进行常规页面加载时,最佳方法是:
$this->load->view('top');
$this->load->view('content', $data);
$this->load->view('footer');
当您对服务器执行Ajax调用并在客户端浏览器上加载Div上的特定视图时,第二种方法非常有用:
$view = $this->load->view('subpage','',TRUE);
$data = array('content' => $view);
print json_encode($data);