質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
AngularJS

AngularJSはオープンソースのJavaScriptフレームワークです。ブラウザ上で動作するウェブアプリケーションの開発にMVCアーキテクチャを取り入れることを目的としています。

Q&A

解決済

1回答

3731閲覧

angularjsでviewが更新されない

chiku_

総合スコア1464

AngularJS

AngularJSはオープンソースのJavaScriptフレームワークです。ブラウザ上で動作するウェブアプリケーションの開発にMVCアーキテクチャを取り入れることを目的としています。

0グッド

0クリップ

投稿2015/07/06 06:37

angularjsで下記、プラグインを使って、画像をギャラリー表示させようとしています。
https://blueimp.github.io/Bootstrap-Image-Gallery/

画像が切り替わった時、onslideendイベントが実行されるので、
そこで各画像用のモデルを切り替えて、画面表示を切り替えようとしています。

モデル切り替え後に$scope.$apply()を実行して、エラーなく正常に実行されているのですが、
viewに切り替えたモデルの内容が反映されません。

ギャラリー表示前に$scope.setCurrentModel(0);とすると設定されたモデルの内容で表示されているので、バインドが失敗しているというのは考えられません。

angularjsはangularjs対象外のイベントやDOMを直接操作した場合も、$scope.$apply()を実行する事で双方向データバインドが実行されるという認識なのですが、その認識がそもそも誤っているのでしょうか?(例外がある?)

lang

1 $scope.gallery = function() { 2 blueimp.Gallery( 3 $('#links a'), 4 { 5 onopen: function () { 6 $log.debug("onopen"); 7 }, 8 onopened: function () { 9 $log.debug("onopened"); 10 }, 11 onslide: function (index, slide) { 12 $log.debug("onslide"); 13 }, 14 onslideend: function (index, slide) { 15 $log.debug("onslideend"); 16 $scope.setCurrentModel(index); 17 $scope.$apply(); 18 }, 19 onslidecomplete: function (index, slide) { 20 $log.debug("onslidecomplete"); 21 }, 22 onclose: function () { 23 $log.debug("onclose"); 24 }, 25 onclosed: function () { 26 $log.debug("onclosed"); 27 } 28 } 29 ); 30 };

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

プラグイン内のソースをよく見てみると表示用の画面をcloneしていました。

投稿2015/07/06 08:29

chiku_

総合スコア1464

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問