2015-09-10 92 views
0

問題模擬: http://plnkr.co/edit/ZPgMxGwhha7S1cmTSNg8?p=info如何訪問父狀態控制器變量爲孩子狀態UI路由器

說明:我想父狀態的數據分享給孩子的狀態。我沒有爲子狀態創建單獨的控制器。另外我正在創建一個嵌套視圖。所以理想的情況是孩子應該分享父母的範圍。但它不起作用。

this.successHandler = function(data){ 
    console.log("Inside Success Handler"); 
    mainCtrl.company = data; 
}; 

我正在初始化父範圍內的公司對象並將其與子狀態視圖進行綁定。

<input class="form-control" ng-model="mainCtr.company.name" type="text" placeholder="Enter Name Here"> 

我已經檢查的辦法here之一。但不知何故,它不適合我的情況。此外,我試圖避免使用$ scope並使用「this」來代替。有人可以幫助我訪問所有三個標籤中的「mainCtrl.company」數據嗎?

回答

0

您似乎正確地做了,除了在您的子視圖中錯誤地mainCtrl作爲mainCtr

+0

哦,非常感謝。那工作。來自我身邊的一個愚蠢的錯誤。 – Mahesh

+0

@MaheshKedari沒有問題,當你查看自己的代碼太久時,額外的一雙眼球會有幫助! – xiankai

0

簡而言之,角的孩子scope繼承其父母scope,這是可用的在前面沒有$scope前景。因爲您使用this而不是$scope來管理您的數據和字段,所以您需要創建一個communicate property(這裏要做的是controllerAs)。如果沒有「controllerAs」,比方說,我們希望有一個parent性質,(在mainController L個上路$scope.parent = this;:29),並與parent.company.name訪問在3個國

<input class="form-control" ng-model="parent.company.name" type="text" placeholder="Enter Name Here"> 
相關問題