2014-01-18 178 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,所以你將能夠在另一個視圖中調用它。