angularjs - 稍后手动将 $modalInstance 注入(inject)到 Controller 中

标签 angularjs modal-dialog angular-ui-bootstrap

我正在使用 Angular UI Bootstrap ,并希望在非对话框的 View 中重用模式对话框中使用的 Controller 。

我尝试稍后通过手动获取 $modalInstance

$injector.get('$modalInstance'),但这不起作用( $injector.has('$modalInstance') 等于 false )

只有当我直接通过注入(inject)它时才有效

angular.module('mymodule').controller('MyModalCtrl', function($modalInstance) {
  // do something with $modalInstance
});

有办法重用 Controller 代码还是我必须编写两个单独的 Controller ?

最佳答案

我发现了一个通过调用者的 $scope 传递 modalInstance 来重用模态 Controller 的技巧,这样你就不会遇到未知的提供程序问题。

我在这里回答了: Passing modalInstance through $scope

关于angularjs - 稍后手动将 $modalInstance 注入(inject)到 Controller 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24085764/

相关文章:

angularjs - 使用 AngularJS 绑定(bind)处理 IE 的清除按钮

asp.net-web-api - AngularJS + ASP.NET Web API 跨域问题

javascript - 从 Angular Controller 调用 webview 方法

C# - ObjectContext 实例已被释放,不能再用于需要连接的操作

javascript - Span 类未在模态窗口中关闭

javascript - 如何在点击时激事件态侧边栏

javascript - 如何排序和过滤 AngularJS 中使用 UI Bootstrap Pagination 分页的所有记录

javascript - Angular 模态 ui Bootstrap : Can i use another controller child of ModalInstanceCtrl?

AngularJS - 带有异构数据数组的 ui.bootstrap typeahead

javascript - 多个日期选择器/Mindate Bootstrap Angular Datepicker