1. ホーム
  2. javascript

[解決済み] プロバイダが不明です。AngularJSで$modalProvider <- $modalエラー

2022-12-08 12:19:49

質問

bootstrapのModal windowを実装しようとしているのですが、このエラーが何度も発生します。何が原因なのでしょうか?私はすべてのものをコピー/貼り付けました http://angular-ui.github.io/bootstrap/#/modal をここにコピーしました。

どのように解決するのですか?

この種のエラーは、コントローラやサービスなどの依存関係を記述したときに、その依存関係を作成またはインクルードしていない場合に発生します。

この場合 $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
});