0

我有一个单击按钮,我必须打开一个弹出窗口。这是我对开放模式配置:Angular ui bootstrap - 无法注入解析函数

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中的项目数组装载了数据,但弹出窗口不显示,并且出现错误。

+0

你的代码是什么样的?你需要这个问题。很明显,你并没有真正使用单词示例(例子中没有使用$ scope)。 –

+0

模态配置是从一个不同的函数生成的,所以我包含了最终的配置对象。 – Naveen

+1

你可以做一个运动员吗? – svarog

回答

0

您应该注入您的控制器的依赖项是$uibModalInstance而不是$uibModal。改变它,它会工作:

app.controller('lsResultPopCtrl', ['$scope', '$uibModalInstance', 'items', function ($scope, $uibModalInstance, items) { 
... 
}]); 
+0

我没有使用$ uibModal,我已经删除它仍然是相同的错误。 – Naveen

+0

您不明白...,您必须注入$ uibModalInstance,否则该解析不会将您的变量创建为依赖项。您必须按照我所描述的精确定义您的控制器 –

+0

获取'错误:[$ injector:unpr]未知提供者:$ uibModalInstanceProvider < - $ uibModalInstance < - lsResultPopCtrl',角度js - ** v1.6.2 ** 角引导程序ui - ** v2.5.0 ** – Naveen