我正在使用Angular Bootstrap Modal打开一堆模式,包括内的视频播放器
http://angular-ui.github.io/bootstrap/#/modal
我希望即使模态关闭,也能保持视频的位置。只是下次我再次打开同一个模态时,我可以看到我在视频中停止的地方。
为了做到这一点,我需要做:
-
创建每个模态一个单独的实例
-
我需要隐藏()模态,而不是关闭()。因此,DOMs仍然在那里,视频播放器不会重新创建
有什么优雅的方式可以做到这一点,因为引导模式没有隐藏功能。我应该只使用jQuery来显示/隐藏.modal-backdrop
和.modal
类吗?
From关闭时不要破坏角度引导模式:
为什么不把模态状态抽象成它自己的服务呢?这样,无论何时创建模态控制器,它都会使用服务在初始化时设置视图状态。
例如。创建服务
.factory('ModalStateService', function(){
var state = {
someValue: 'something'
};
return {
getState: function() { return state; }
};
});
然后在您的控制器中:
.controller('ModalCtrl', function($scope, ModalStateService){
$scope.viewState = ModalStateService.getState();
});
然后在模式内容视图中,例如:
<span>{{viewState.someValue}}</span>
如果您在模态中设置
someValue
,例如通过输入,服务状态将被更新。然后,当您创建和销毁模态时,该状态将持续存在。