在控制器中传递的变量在视图中不起作用。
在我的控制器中,我有:
JPanel panel = new JPanel();
panel.setLayout(new GridLayout(5,1));
JButton[] buttons = new JButton[5];
for (int i = 0; i < buttons.length; i++)
{
buttons[i] = new JButton(i + "");
panel.add(buttons[i]);
}
在我看来:
swap(int index1, int index2)
我收到以下错误消息: 消息:未定义的变量:content_view
答案 0 :(得分:0)
那不是您加载视图(在视图内部)的方式!
视图被加载到控制器内部,该控制器也支持加载多个视图。
示例:先加载静态标头和通用模板,然后加载特定内容,然后再加载通用页脚,如下所示:
<?php
class 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');
}
}
这就是MVC架构的工作方式。另外,Codeigniter文档写得很好,请参见:Views - Codeigniter
答案 1 :(得分:0)
我发现了问题。 我第一次使用HMVC模块化扩展,却忘了在template.php控制器中添加变量$ data,如下所示:
public function login_template($data=Null)
{
$this->load->view("template/login_template", $data);
}
在我使用之前:
public function login_template($data=Null)
{
$this->load->view("template/login_template");
}
所以再次感谢
答案 2 :(得分:0)
尝试一下:
$data = array();
$this->template->login_template($login_data);
$data['content_view'] = 'login/login';
$this->load->view('header', $data);