![](/img/trans.png)
[英]How do I access FormController in parent controller or scope in AngularJS
[英]AngularJs: Access parent scope and I am getting Scope undefined
我正在嘗試訪問父范圍,但是卻收到以下錯誤:該范圍未定義。
MyApp.controller('AdminController', function ($scope, $http, $filter, $mdDialog, $window, $location, $mdToast) {
$scope.test = "Test";
}).
controller('ToastCtrl', function($scope, $mdToast, $mdDialog) {
$scope.openMoreInfo = function(e) {
if ( isDlgOpen ) return;
isDlgOpen = true;
$mdDialog
.show($mdDialog
.alert()
.title($scope.$parent.test)
.targetEvent(e)
)
.then(function() {
isDlgOpen = false;
})
};
});
任何建議,為什么我會收到此錯誤。
先感謝您。
您也應該在這里發布您的視圖(至少),但是我認為您的html中有類似的內容
<div ng-controller="AdminController">
<div ng-controller="ToastCtrl">
<!-- openMoreInfo called somewhere here -->
</div>
</div>
然后,您的控制器在父作用域中尋找$scope.test
變量。 您可以嘗試以這種方式使用angularjs范圍繼承
在父控制器中,更改$scope.test = "Test";
與
$scope.Data = {};
$scope.Data.test = "Test";
然后在子控制器中使用.title($scope.Data.test)
。
子控制器將嘗試訪問$scope.Data
對象,但它在當前作用域中不存在,因此它將嘗試在可以找到它的$parent
范圍中進行搜索。
您無法訪問該值的問題是controllers
之間沒有parent-child
relationship
。
您可以通過多種方式訪問它:
service
在控制器之間進行通信。 $rootscope
,但不建議這樣做。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.