angular - 获取服务器中的控制器实例

时间:2015-05-02 22:20:30

标签: angularjs angular-ui bootstrap-modal angularjs-controller

我遇到了问题,我试图在我的服务中获取控制器实例:

myAppModule.service('modalService',
function ($modal, $controller) {
   var controller = $controller('ExperienceDetailsModalCtrl');
});

但我有错误: TypeError:无法读取属性' $ scope'未定义的

是否可以访问控制器(在另一个文件中定义)并将其传递给模态?

我的控制器:

myAppIndexModule
.controller('ExperienceDetailsModalCtrl', function ($scope) {

});

1 个答案:

答案 0 :(得分:4)

您无法访问factoryprovider$modal中的控制器范围。您要共享的数据应放在服务中。 &安培;让它可供其他控制器使用。

我认为您确实希望将控制器范围传递给$modal.open({$scope: $controller('ExperienceDetailsModalCtrl', {$scope: $scope}), templateUrl: 'abc.html'}) ,然后您可以通过控制器本身来实现此目的。

myAppModule.service('modalService',
function ($modal, $controller, $rootScope) {
   var scope = $rootScope.$new(true);
   $controller('ExperienceDetailsModalCtrl',{scope: $scope });
   //in scope now you will have ExperienceDetailsModalCtrl scope
});

<强>更新

你可以像下面这样做

String.valueOf(new Date().getTime())