Angularjs - $ uibModal提供程序错误

时间:2015-12-24 06:31:57

标签: javascript angularjs angular-ui-bootstrap

我正在尝试将$ uibModal注入到我的项目中,但是当控制器加载时,我收到以下错误:

Error: [$injector:unpr] Unknown provider: $uibModalProvider <- $uibModal <- abilityListController

我正在使用NuGet进行包管理。

Angularjs:1.4.8

Bootstrap:3.3.6

Angular-Ui-Bootstrap:0.14.3

以下是相关代码:

的index.html

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <meta charset="utf-8" />
    <link href="Content/bootstrap.css" rel="stylesheet" />
    <script src="scripts/angular.js"></script>
    <script src="scripts/angular-ui/ui-bootstrap.js"></script>
    <script src="app/app.js"></script>
    <script src="app/homeController.js"></script>
    <script src="app/abilityList/abilityListController.js"></script>
</head>
<body>
    <div ng-app="tecApp">
        <div ng-controller="homeController as vm">
            </div>
            <div ng-controller="abilityListController as vm" ng-if="true">
                <div ng-include="'app/abilityList/abilityList.html'"></div>
            </div>
        </div>
    </div>
</body>
</html>

app.js:

angular.module("tecApp", []);

AbilityListController.js:

angular
    .module('tecApp')
    .controller('abilityListController', AbilityListController);

AbilityListController.$inject = ['$uibModal'];

function AbilityListController($uibModal) {
    var vm = {};
    return vm;
}

我认为我注射错误,但这可能与我如何包含我的源文件有关。

除了上面提到的错误之外,我没有出现控制台错误。

我更喜欢这种语法用于我的角度代码,所以我希望修复我的代码而不是使用('controllername',['$ stuff','moreStuff'])。

提前感谢您的帮助。

5 个答案:

答案 0 :(得分:30)

您应该在使用之前注入依赖模块。你的代码应该是这样的:

angular
    .module('tecApp',['ui.bootstrap'])

答案 1 :(得分:15)

我今天失去了3个小时,以确定"angular-bootstrap": "0.12.2"现在应该是&#34; angular-ui-bootstrap&#34;:&#34; 1.1.2&#34;在你的包json。

我无法理解为什么在角度引导程序中找不到版本1.1.2 ......

它现在就像一个魅力!

希望它有帮助...:)

答案 2 :(得分:3)

ui.bootstrap模块注入您的应用程序模块:

angular.module("tecApp", ["ui.bootstrap"])

此外,您可以使用$modal模块中的ui.bootstrap(可能更好)服务,而不是$uibModal

答案 3 :(得分:0)

它对我有用。我有angularJS版本1.2.16。 ui-bootstrap的兼容版本是0.12.0。在使用之前,需要google兼容版本。

答案 4 :(得分:0)

我尝试解决问题。

安装最新版本的angular-bootstrap

npm install angular-bootstrap or bower install angular-bootstrap