我正在使用这样的角度引导程序模态

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


现在我的父控制器是ParentController as PC

我想知道如何在PC内或muc模板内访问create_form

最佳答案

您始终可以从各自的作用域或其继承继承的继承者中访问控制器别名(别名(Alias)作为属性名称附加在作用域上,其值包含控制器实例的引用)。 angular ui modal带有scope属性,您可以使用该属性将模式设置为特定范围(否则默认为rootScope)。因此,在模态中设置scope属性

 $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()


在控制器($scope)中插入MyUpdateController,并以$scope.PC的身份访问父范围,也可以在模板中访问此别名。

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

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


并在您的parentCtrl中注入MyUpdateController作为依赖项,并获取它并将其设置在示波器上。

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

10-11 12:38
查看更多