一尘不染

未知提供者:$ modalProvider <-AngularJS中的$ modal错误

angularjs

我在尝试实现Bootstrap Modal窗口时一直收到此错误。可能是什么原因造成的?我已经从http://angular-
ui.github.io/bootstrap/#/modal复制/粘贴了所有内容。


阅读 213

收藏
2020-07-04

共1个答案

一尘不染

当您为控制器,服务等编写依赖项时,还没有创建或包含该依赖项,就会发生这种错误。

在这种情况下,$modal不是已知的服务。听起来您在引导angular时没有将ui-
bootstrap作为依赖项传递。angular.module('myModule', ['ui.bootstrap']);另外,为安全起见,请确保您使用的是最新版本的ui-bootstrap(0.6.0)。

该错误在版本0.5.0中引发,但更新到0.6.0确实会使$ modal服务可用。因此,更新至版本0.6.0,并确保在注册模块时需要ui.boostrap。

回复您的评论: 这就是注入模块依赖项的方式。

<!-- tell Angular what module we are bootstrapping -->
<html ng-app="myApp" ng-controller="myCtrl">

js:

// create the module, pass in modules it depends on
var app = angular.module('myApp', ['ui.bootstrap']);

// $modal service is now available via the ui.bootstrap module we passed in to our module
app.controller('myCtrl', function($scope, $uibModal) {

});

更新:

$modal服务已重命名为$uibModal

使用$ uibModal的示例

// create the module, pass in modules it depends on
var app = angular.module('myApp', ['ui.bootstrap']);

// $modal service is now available via the ui.bootstrap module we passed in to our module
app.controller('myCtrl', function($scope, $uibModal) {
    //code here
});
2020-07-04