我有一个视频列表,当用户点击其中一个视频时,我不希望打开另一个视图。相反,我希望所选视频在其他视频的叠加层中打开。当关闭视频的叠加层时,其下方的视频列表将再次显示自己,而无需再次加载或请求任何内容。
叠加非常简单,如下:
<div class="overlay" ng-show="watching">
watching
变量是选择播放的视频。为了停止观看视频,我只需将watching
变量设置为null
即可有效关闭叠加层。
我在这里无法解决的问题是,当您点击观看视频时,网址必须更改,因为我希望用户能够共享它。但通过这样做,我的视图也被重新加载,动画视图中的动画也会再次播放。这一切都很糟糕。
我期待reloadOnSearch
参数可以解决这个问题,但在这方面似乎没有任何改变。这是视频列表网址和配置中的观看网址的声明,我希望通过使观看网址可选来解决这个问题:
.when("/videos/:action?/:videoId?", {
controller: "VideosController",
templateUrl: "tpl/partials/videos.html",
reloadOnSearch: false
})
视频列表的网址为/videos
,观看特定视频的网址为/videos/watch/id
。
所以我想要的是能够手动将我的URL从/videos
更改为/videos/watch/id
,反之亦然,而Angular不执行任何操作,任何控制器和加载任何视图。但与此同时,显然,如果我将其更改为我页面其余部分的其他URL,例如/contact
,那么它需要通过为该页面执行适当的控制器来继续其正常工作。