2013-10-19 7 views
10

AngularUIで$dialogサービスが見つかりませんでした。messageBox()を調べて、$modalを使用して確認ダイアログボックスを作成しようとしました。どちらも見つかりませんでした。

誰かが、AngularJS/AngularUIを使用して簡単なダイアログを作成する方法を教えていただけますか?

ありがとうございます。

答えて

20

$modalは、ui-bootstrapのバージョン0.6.0にリファクタリングされました。 $dialogの機能は引き続き利用可能で、ちょうど$modalを経由する必要があります。

docsによると、あなたはブートストラップのCSSangular.jsページでだけでなく、あなたがドキュメントサイトからダウンロードすることができブートストラップ-UIのJSを、含まれていることを確認しなければなりません。 $modalサービスのみを使用し、他のディレクティブを使用する必要がない場合は、「独自のリンクを作成する」を参照してください。

これらのファイルがページに含まれている場合は、角度モジュールの定義に依存関係としてui.bootstrapが含まれていることを確認してください。例えばこれは、その後に行われた場合

var app = angular.module('myApp', ['ui.bootstrap']); 

あなたが他のサービスの場合と同様に、あなたのモジュール内$modalサービスを注入することができるはずです。固体の例については

app.controller('myController', function($scope, $modal) { 
    $scope.openModal = function() { 
     // Can use $modal service as per examples in doc page 
    }; 
}); 

は、ドキュメントのページは、ページ上やそのサービスとディレクティブのそれぞれについてplunker(あなたが一緒にプレイすることができます)で素晴らしい例があります。私はここのプランナーにリンクしたいと思いますが、私はできないようです。

+1

ありがとうございました。 $ダイアログには$ modalサービスには存在しないmessageBox()というメソッドがありました。私は単純な確認ボックスを作成したいだけですが、$ modal.open()を使用する以外は他の方法がありますか? –

+6

はい、残念ながらこれはもう存在しません。マイグレーションガイドの追加については[未解決の問題](https://github.com/angular-ui/bootstrap/issues/996)があります。 [コメント](https://github.com/angular-ui/bootstrap/issues/996#issuecomment-25388935)の1つに、あなたが望むことができる '$ modal'を使ったサンプルサービスがあります。そうでないと、 bootstrap-uiをダウングレードするか、同じ機能を持つ独自のサービスを作成してください。 – Andyrooger

+0

迅速な対応をありがとう! :-) –