gpt4 book ai didi

javascript - 如何在 Controller 中获取父 Controller 作为 Angular 语法

转载 作者:行者123 更新时间:2023-11-28 00:37:51 25 4
gpt4 key购买 nike

我正在使用像这样的 Angular 引导模式

   var myModal = $modal.open({
controller: 'MyUpdateController as muc',
templateUrl: 'views/create_form.html',

现在我的父 Controller 是ParentController as PC

我想知道如何在 muccreate_form 模板内访问 PC

最佳答案

您始终可以从各自的作用域或其通过继承继承的后代访问 Controller 别名(别名作为属性名称附加在作用域上,其值保存 Controller 实例的引用)。 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()

在 Controller (MyUpdateController) 中注入(inject) $scope 并以 $scope.PC 的形式访问父作用域,您可以在您的 Controller 中访问此别名模板也是如此。

另一种方法,您可以使用模式的 resolve 属性并将当前父范围传递给它。

$modal.open({
controller: 'MyUpdateController as muc',
templateUrl: 'views/create_form.html',
resolve: {
parentCtrl: function(){
return ctrl; //return controller here
}
}

并将 parentCtrl 作为依赖项注入(inject) MyUpdateController 中,并获取它并将其设置在作用域上。

关于javascript - 如何在 Controller 中获取父 Controller 作为 Angular 语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28290891/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com