AngularJS Bootstrap UIでJavaScriptを使ってモーダルウィンドウを呼び出す
質問
前述の例を用いて ここで のように、ボタンをクリックする代わりに JavaScript を使用してモーダルウィンドウを呼び出すにはどうすればよいでしょうか?
私はAngularJSの初心者で、ドキュメントを検索してみました。 ここで と はこちら を追加しました。
ありがとうございます。
どのように解決するのですか?
さて、ではまず
http://angular-ui.github.io/bootstrap/
には
<modal>
ディレクティブと
$dialog
サービスを使用し、その両方をモーダルウィンドウを開くために使用することができます。
違いは
<modal>
ディレクティブでは、モーダルのコンテンツがホスティングテンプレート (モーダルウィンドウを開くきっかけとなるもの) に埋め込まれることです。そのため
$dialog
サービスははるかに柔軟で、モーダルのコンテンツを別のファイルからロードしたり、AngularJS コード内の任意の場所(コントローラ、サービス、別のディレクティブなど)からモーダルウィンドウをトリガーしたりすることが可能です。
JavaScript のコードを使用する」というのが正確には何を意味するのかわかりませんが、AngularJS のコード内の任意の場所を意味すると仮定すると
$dialog
サービスはおそらく行くべき道です。
非常に使いやすく、最もシンプルな形ではただ書けばいいだけです。
$dialog.dialog({}).open('modalContent.html');
どのような JavaScript コードでも本当にトリガーできることを示すために、ここではコントローラがインスタンス化されてから 3 秒後にタイマーを使ってモーダルをトリガーするバージョンを示します。
function DialogDemoCtrl($scope, $timeout, $dialog){
$timeout(function(){
$dialog.dialog({}).open('modalContent.html');
}, 3000);
}
これは、このplunkで実際に見ることができます。 http://plnkr.co/edit/u9HHaRlHnko492WDtmRU?p=preview
最後に、このメソッドの完全なリファレンス・ドキュメントを紹介します。
$dialog
サービスの完全なリファレンスドキュメントです。
https://github.com/angular-ui/bootstrap/blob/master/src/dialog/README.md
関連
-
[解決済み】Angularjsのng-viewが動作しない。
-
[解決済み] Angular 1.2+ で ng-bind-html-unsafe を複製するために $sce.trustAsHtml(string) を使用するにはどうしたらよいですか?
-
[解決済み] AngularJS の ng-disabled ディレクティブに式を指定しても動作しない
-
[解決済み] AngularJSでデータバインディングはどのように機能するのですか?
-
[解決済み] AngularJSで$scope.$watchと$scope.$applyを使用するにはどうすればよいですか?
-
[解決済み] AngularJS コントローラにおける 'this' と $scope の比較
-
[解決済み] 入力フィールドにフォーカスを当てるには?
-
[解決済み] Twitter Bootstrapのモーダルクローズに関数をバインドする
-
[解決済み] Twitter Bootstrapのモーダルウィンドウを閉じないようにする
-
[解決済み】AngularJSのディレクティブスコープにおける「@」と「=」の違いは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] ReferenceError: Angularは定義されていません。
-
[解決済み] ajaxリクエスト時にAngularjsのローディング画面が表示される。
-
[解決済み] AngularJsでng-Cloakディレクティブを実際に使用する方法とは?
-
[解決済み] AngularJSの「href」と「ng-href」の違いについて
-
[解決済み] Apigee API へのリクエストで 401 レスポンスエラーが発生する
-
[解決済み] Angularのui-routerでデフォルトの状態を設定する方法
-
[解決済み] 新しい/分離されたスコープを求める複数のディレクティブ [ngController, ...] がある。
-
角型グローバル確認ボックス
-
[解決済み] ng-modelとng-bindの違いは何ですか?
-
[解決済み] ng-repeat :単一フィールドによるフィルタリング