2016-03-06 44 views
1

使用angular-boostrap的uibmodal,我想给我的模态一个命名空间的范围参数集合。我需要这些范围参数来生活在我的父母传递给其他控制器,但我也不希望我的模式有权访问我的整个父范围。所以我真正想做的事情是这样的:如何在范围子参数中使用uibmodal?

//parent controller 
$scope.selector = { ... } 

var modalInstance = $uibModal.open({ 
    animation: false, 
    controller: 'SelectorController', 
    scope: $scope.selector 
    templateUrl: 'selector.tpl.html' 
}); 

但是我得到:

angular.min.js:111 TypeError: c.$new is not a function 
at angular.bootstrap-tpls.min.js:8 

有没有达到我想要的一种模式?

回答

1

有一些选项,你可以从你目前的范围,模态范围传递参数,可以只添加currentUserId内PARAM您的控制器

resolve: { 
     currentUserId: function() { 
      return row.entity._id; 
     } 
} 
0

我是真正创建一个新的范围变量,去解决方案的在$rootScope.$new()模块documented here

这让我实例化我与模式

var modalInstance = $uibModal.open({ 
    animation: false, 
    controller: 'SelectorController', 
    scope: $scope.selector, 
    templateUrl: 'selector.tpl.html' 
}); 

我的模态现在有一个可以使用的命名空间范围,但是对于该范围所做的所有更改都可以从我的父作用域中获得。