javascript - 更改路由参数时 Angular 重新加载页面

标签 javascript angularjs coffeescript routes

所以我正在做一个网络应用程序 这个网络应用程序有很多页面,其中一个页面有选项卡。 为了做类似的路由,我在父页面和一个具有 ng-switch 的小 div 中使用了 ng-view 指令,并根据路由参数显示不同的选项卡(与 $scope 中的 var 匹配),并且显示其中 ng-includes 中的内容,我遇到的问题是每次我更改选项卡时,页面都会重新加载。 View 相同,但选项卡不同,选项卡正在工作,但我在此页面中有一个谷歌地图,因此每次我更改选项卡时网络都会重新加载,这是一个主要的性能问题。

这是我正在做的事情的一个基本示例(我使用coffeescript和jade)

index.jade

body(ng-view)

页面.jade

section.menu.pull-left
 nav
  ul
    li(ng-class="{active: route.tab == 'order'}")
      a(href="#page/order" target="_self") 
        i.fa.fa-cab
        small order
    li(ng-class="{active: route.tab == 'favorites'}")
      a(href="#page/favorites" target="_self") 
        i.fa.fa-star
        small favorites

和选项卡

.display(ng-switch="route.tab")
  .tab(ng-switch-when="order")
    div(ng-include="'views/page/order.html'")
  .tab(ng-switch-when="favorites") 
    div(ng-include="'views/page/favorites.html'")

路由文件

app.config ['$routeProvider', ($routeProvider) ->
$routeProvider
 .when '/',
   templateUrl : 'views/login.html'
   controller  : 'loginCtrl'
   tab         : ''

 .when '/page/:tab',
   templateUrl : 'views/page.html'
   controller  : 'pageCtrl'  

 ]

page.jade 必须是静态的,并且选项卡必须更改。我不知道为什么这样做, Controller 基本上是空的。我不知道该怎么办!请帮忙

最佳答案

看起来像你的href's格式不正确

尝试改变:

href="#page/order"

href="#/page/order"

也可能从 <a> 中删除目标标签

关于javascript - 更改路由参数时 Angular 重新加载页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31441955/

相关文章:

javascript - 如何在 AngularJS 中为 $http promise 创建单元测试

javascript - 在 CoffeeScript 中设置 innerHTML

javascript - 在子组件中将多个 this.props 属性分配给新变量一次时出错

javascript - 将 React 与带有 JSX 的现有应用程序一起使用

angularjs - 在angular.js应用程序中注册服务 worker

javascript - 可以将 coffeescript/javascript 中的其他对象属性动态添加到现有对象吗?

ruby - 在 Rails3.1 ubuntu 11.04 中使用 CoffeeScript

javascript - 如何设置自定义组件模板并传递模板参数?

javascript - 使用 IE 6 更改本地文件时刷新本地 HTML

javascript - Angularjs、Datepicker 落后一天