我有一個Angular應用程序使用ui路由器與我的應用程序中定義的以下狀態。角ui路由器:孩子沒有得到父母狀態
$stateProvider
.state('classes', {
url: '/classes/:type',
templateUrl: 'classes.html',
controller: 'ClassesCtrl',
})
.state('classes.detail', {
url: '/:id',
views: {
"@": {
templateUrl: 'class.html',
controller: 'ClassCtrl'
}
}
});
和我的控制器看起來像:
app.controller('ClassesCtrl', function($scope, $stateParams){
$scope.foo = "bar";
});
app.controller('ClassCtrl', function($scope, $stateParams){
console.log($scope.foo);
});
正如你所看到的,class.detail隱藏通過針對根級別無名UI視圖的父視圖。我遇到的問題是孩子沒有繼承父母的範圍(我無法訪問class.detail中的$ scope.foo)。當我進入子狀態時,似乎父狀態被破壞,因爲如果我點擊回來,它必須重新加載所有數據。
如何有效隱藏父視圖但仍可訪問父數據?
通過服務共享您的數據 – charlietfl
我認爲嵌套視圖自動獲取父狀態?爲什麼它在我的情況下被破壞? – postelrich
在父視圖中創建的$ scope應該可以通過子視圖no訪問? – postelrich