Angular ui bootstrap - 无法注入解析功能
Posted
技术标签:
【中文标题】Angular ui bootstrap - 无法注入解析功能【英文标题】:Angular ui bootstrap - Not able to inject resolve function 【发布时间】:2017-10-04 11:28:16 【问题描述】:我有一个点击按钮,我必须打开一个弹出窗口。这是我打开模式的配置:
var uibModalInstance = $uibModal.open(
animation: true,
ariaLabelledBy: 'modal-title',
ariaDescribedBy: 'modal-body',
controller: 'lsResultPopCtrl',
templateUrl: 'template.html',
windowTemplateUrl: 'template.html',
size: size,
resolve:
items: function()
return $scope.items;
);
控制器代码:
app.controller('lsResultPopCtrl', function ($scope, $uibModal, items)
这段代码给了我错误:
Error: [$injector:unpr] Unknown provider: itemsProvider <- items <- lsResultPopCtrl
我正在关注这个例子:https://angular-ui.github.io/bootstrap/
编辑:
在 chrome 调试器中,我可以看到 lsResultPopCtrl
中的 items 数组已加载数据,但弹出窗口未显示,我收到错误消息。
【问题讨论】:
你的代码是什么样的?你需要在问题中。很明显,您实际上并没有逐字使用演示词(例如,示例不使用 $scope)。 模态配置是从不同的函数生成的,所以我包含了最终的配置对象。 你能做个小家伙吗? 【参考方案1】:您应该注入控制器的依赖项是$uibModalInstance
,而不是$uibModal
。改变它,它就会工作:
app.controller('lsResultPopCtrl', ['$scope', '$uibModalInstance', 'items', function ($scope, $uibModalInstance, items)
...
]);
【讨论】:
我没有使用 $uibModal,我删除了它仍然是同样的错误。 你不明白...,你必须注入 $uibModalInstance 否则解析不会将你的变量创建为依赖项。您必须完全按照我的描述定义您的控制器 获取Error: [$injector:unpr] Unknown provider: $uibModalInstanceProvider <- $uibModalInstance <- lsResultPopCtrl
,角度 js - v1.6.2 角度引导 ui - v2.5.0
@Naveen 创建一个肯定会帮助人们回答您的问题的 plunk。以上是关于Angular ui bootstrap - 无法注入解析功能的主要内容,如果未能解决你的问题,请参考以下文章
Angular UI Bootstrap 响应式导航栏下拉菜单在新版本中无法正常工作
Angular UI 和 Bootstrap:点击链接时折叠移动导航栏
UI-Bootstrap Carousel 不会与我的 Angular 应用程序合作。为啥?
Angular UI Bootstrap datepicker:ng-readonly 支持
html angular-ui-bootstrap Typeahead的示例用法(https://angular-ui.github.io/bootstrap/)