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 };
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。