$ routeProvider没有显示视图

时间:2015-06-30 17:38:21

标签: angularjs

我有以下.config()

app.config(['$routeProvider', function($routeProvider) {
   var myElement = document.getElementById('toggleMenu');
  $routeProvider
  // route for the home page
  .when('/reviews/', { // <!-- this line is the issue (I think)
    templateUrl : '/reviews/views/home.html',
    controller  : 'AppCtrl'
  })
  // any page now, make sure view is same name as url string
  .when('/:name', {
    templateUrl: function(urlattr){
      angular.element(myElement).triggerHandler('click');
      return '/reviews/views/' + urlattr.name + '.html';
    },
    controller: 'AppCtrl'
  });
}]);

此域名路由为mydomain.com/reviews/

如果我将第一个.when设置为:

.when('/'

当网址为mydomain.com/reviews/时,视图/reviews/views/home.html会加载。这是预期的效果,但为什么在第一个.when设置为.when('/reviews/'时它无效?

此外,我想链接网站徽标以生成主视图,但我已尝试将href设置为//reviews/,但两项都不起作用,这意味着主页视图未显示 - 令人困惑!

1 个答案:

答案 0 :(得分:3)

尝试添加<base href="/" /><head>中的HTML文档。此外,您似乎想要使用HTML5-urls。如果您还没有,请尝试将$locationProvider.html5Mode(true);添加到您的配置中。

您还应删除/中的最后一个/reviews/。如果这有帮助,请告诉我。