我在 CodeIgniter 中有一个控制器,代码如下:
$this->load->view("first");
echo "LOL";
$this->load->view("second");
但奇怪的是,当页面被渲染时,HTML 是:
LOL
<div id="firstView"></div>
<div id="secondView"></div>
我不知道是什么导致了这种对语句的重新排序。有什么建议么?我可能忽略了什么?
我在 CodeIgniter 中有一个控制器,代码如下:
$this->load->view("first");
echo "LOL";
$this->load->view("second");
但奇怪的是,当页面被渲染时,HTML 是:
LOL
<div id="firstView"></div>
<div id="secondView"></div>
我不知道是什么导致了这种对语句的重新排序。有什么建议么?我可能忽略了什么?
最后在代码点火器中渲染视图。如果你想在你去的时候渲染它们,你可以这样做
echo $this->load->view("first", array(), true);
echo "LOL";
echo $this->load->view("second", array(), true);
这很简单:
$this->load->view("...");
不会立即显示视图。这会在以后发生,MVC 框架的好处之一是什么。
为了实现您的尝试,您必须将第三个参数传递给函数 $this->load->view(...),表示您将在变量中接收视图,而不是立即显示它。
像这样:
echo $this->load->view("first", NULL, TRUE);
echo "LOL";
echo $this->load->view("second", NULL, TRUE);
查看第三个参数 TRUE(第二个是您要传递给它的所有变量)。不要忘记使用 echo 打印视图的结果。如果您想存储视图并处理它们,或者按照您希望的顺序打印它们,这将非常有用。
这是一种更优雅的方法:
$this->load->view("first");
$this->output->append_output("LOL");
$this->load->view("second");
使用这将减少将预先编写的 $this->load->view 语句重写为回声。希望能帮助到你。