2014-01-18 135 views
1

假设您从控制器加载视图,并且该视图加载另一个视图,该视图使用与载入视图相同的大量变量。如何让两个视图共享这些变量?由于CodeIgniter:在视图之间传递变量

+0

您无法从视图加载视图,只能从控制器加载视图;并且在这个控制器中,你有@Vickel的所有变量 – Vickel

+0

。您是否尝试在另一个视图中加载视图? –

+0

@kumar_v当然,但总是调用控制器 – Vickel

回答

3

您定义的视图中的所有变量,会传递给父视图中加载的视图。除非您想覆盖特定值,否则不需要通过第二个数组参数将它们传递给另一个级别。

基本上,将第二个参数中的所有变量定义到“父”视图,并且两个视图都将具有这些变量。

1

例如:您加载在控制器观点:

$data["msg"] = "hi"; 
$this->load->view("view_file",$data); 

view_file,你加载另一个视图文件

$this->load->view("view_file2",array("msg"=>$msg)); // here msg is extracted from first view file 
+0

现在只是“接力”变量的方式? – Wes

+0

是的。只是传递新名称的变量。 –

+0

我的意思是中继整组变量,而不必逐个指定它们。 – Wes

1

在一个视图中,我设置:

window.variable = variableToAnotherView;

windows.variable是通过变量globaly,所以你将能够在另一个视图中调用它。