当URL更改且控制器相同时,请勿重新加载视图

时间:2016-04-19 19:53:29

标签: angularjs

我有一个视频列表,当用户点击其中一个视频时,我不希望打开另一个视图。相反,我希望所选视频在其他视频的叠加层中打开。当关闭视频的叠加层时,其下方的视频列表将再次显示自己,而无需再次加载或请求任何内容。

叠加非常简单,如下:

<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,那么它需要通过为该页面执行适当的控制器来继续其正常工作。

0 个答案:

没有答案