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); ... (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |