如何在 angular 中获取控制器中的父控制器作为语法
How to get the parent controller in controller as Syntax in angular
我正在使用 angular bootstrap 这样的模式
var myModal = $modal.open({
controller: 'MyUpdateController as muc',
templateUrl: 'views/create_form.html',
现在我的父控制器是 ParentController as PC
。
我想知道如何在 muc
或 create_form
模板
中访问 PC
您始终可以从各自的作用域或其后代通过继承访问控制器别名(别名作为 属性 名称附加在作用域上,其值包含控制器实例的引用)。 angular ui modal 接受一个范围 属性 ,你可以使用它来将你的模态设置到一个特定的范围(否则默认为 rootScope)。所以在你的模式
中设置范围 属性
$modal.open({
controller: 'MyUpdateController as muc',
templateUrl: 'views/create_form.html',
//Create a child scope of current scope or even pass the current $scope itself but be aware
scope:$scope.$new()
在您的控制器 (MyUpdateController
) 中注入 $scope
并以 $scope.PC
访问父作用域,您也可以在模板中访问此别名。
另一种方法,您可以使用模态的 resolve
属性 并将当前父范围传递给它。
$modal.open({
controller: 'MyUpdateController as muc',
templateUrl: 'views/create_form.html',
resolve: {
parentCtrl: function(){
return ctrl; //return controller here
}
}
并将 parentCtrl
作为依赖项注入 MyUpdateController
并获取它并将其设置在范围上。
我正在使用 angular bootstrap 这样的模式
var myModal = $modal.open({
controller: 'MyUpdateController as muc',
templateUrl: 'views/create_form.html',
现在我的父控制器是 ParentController as PC
。
我想知道如何在 muc
或 create_form
模板
PC
您始终可以从各自的作用域或其后代通过继承访问控制器别名(别名作为 属性 名称附加在作用域上,其值包含控制器实例的引用)。 angular ui modal 接受一个范围 属性 ,你可以使用它来将你的模态设置到一个特定的范围(否则默认为 rootScope)。所以在你的模式
中设置范围 属性 $modal.open({
controller: 'MyUpdateController as muc',
templateUrl: 'views/create_form.html',
//Create a child scope of current scope or even pass the current $scope itself but be aware
scope:$scope.$new()
在您的控制器 (MyUpdateController
) 中注入 $scope
并以 $scope.PC
访问父作用域,您也可以在模板中访问此别名。
另一种方法,您可以使用模态的 resolve
属性 并将当前父范围传递给它。
$modal.open({
controller: 'MyUpdateController as muc',
templateUrl: 'views/create_form.html',
resolve: {
parentCtrl: function(){
return ctrl; //return controller here
}
}
并将 parentCtrl
作为依赖项注入 MyUpdateController
并获取它并将其设置在范围上。