加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

AngularJS分页与$location.path但没有ngView重新加载

发布时间:2020-12-17 08:54:49 所属栏目:安全 来源:网络整理
导读:我的单页应用程序加载主页,我想显示一系列的想法。每个想法都显示在一个动画flash容器中,动画显示在想法之间循环。 想法使用$ http: $scope.flash = new FlashInterface scope:$scope,location:$location$http.get("/competition.json") .success (data)
我的单页应用程序加载主页,我想显示一系列的想法。每个想法都显示在一个动画flash容器中,动画显示在想法之间循环。

想法使用$ http:

$scope.flash = new FlashInterface scope:$scope,location:$location

$http.get("/competition.json")
  .success (data) ->
    $scope.flash._init data

然而,要受益于历史导航和UX我希望更新地址栏,以显示每个想法的正确的URL使用$位置:

$location.path "/i/#{idea.code}"
$scope.$apply()

我在这里调用$ apply,因为这个事件来自于AngularJS上下文,即Flash。我想要的当前控制器/视图保持和视图不重新加载。这是非常糟糕的,因为重新加载视图导致整个闪存对象被抛弃,预加载器循环再次开始。

我试过监听$ routeChangeStart做一个preventDefault:

$scope.$on "$routeChangeStart",(ev,next,current) ->
  ev.preventDefault()
$scope.$on "$routeChangeSuccess",current) ->
  ev.preventDefault()

但无济于事。如果我能找出一个方法覆盖视图reload当我改变$ location.path的整个事情将是愚蠢的dory。

我仍然非常感觉我的方式AngularJS,所以我很高兴任何指针如何结构的应用程序,以实现我的目标!

而不是更新路径,只是更新查询参数与页码。

将您的路由设置为忽略查询参数更改:

....
$routeProvider.when('/foo',{...,reloadOnSearch: false})
....

并在您的应用程式更新$位置与:

...
$location.search('page',pageNumber);
...

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读