1

如果满足某些条件,我将尝试在我的标题视图中包含以下代码块(其中包含一些动态值)。

<script src="<?php echo base_url();?>assets/jquery.Jcrop.js"></script>
<link rel="stylesheet"  href="<?php echo base_url();?>assets/jquery.Jcrop.css" />
<script type="text/javascript">
    <?php if (isset($load_jcrop_api) && $load_jcrop_api === TRUE) {?>
        // Javascript 1
    <?php } else { ?>
        // Javascript 2
    <?php } ?>
</script>

我已经阅读了一些内容,并开始尝试以下操作,但是尝试从视图中调用此函数时出现错误,因此我有点坚持使用此方法的最佳方法。

控制器

function get_jcrop_ini() {
    $this->output->set_header('Content-type: text/javascript');
    $data = array( 'messages' => $this->session->flashdata('message'));
    $this->load->view('jcrop_ini',$data);
}

看法

if (isset($load_jcrop) && $load_jcrop === TRUE) {
    $this->get_jcrop_ini();
}
4

1 回答 1

1

在控制器中加载 JS 视图并将其传递给控制器​​。

$jsview = $this->load->view('view_name', array(), true);

请注意,第三个参数设置为 true。这会将视图返回给您,而不是将视图输出到屏幕。

然后,将其传递给您的主视图。

$data['js'] = $jsview;

$this->load->view('mainview',$data);

这是一种更好的 MVC 方法,因为逻辑保留在控制器中。

于 2013-07-30T19:43:08.880 回答