0

我是 angularjs 的新手,想将它集成到 cakephp 应用程序中。对于某些页面,我没有控制器,因为那里没有执行 javascript,或者因为我仍然必须创建它们。但是,我不想在路线中将它们全部列出。出于这个原因,我将其设置如下:

angular.module('desktop', []).
  config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) {
      $locationProvider.html5Mode(true);

  $routeProvider
    .when('/', {templateUrl: 'pages/index',   controller: IndexController})
    .when('/clubs', {templateUrl: 'partials/clubs.html',controller: ClubListController})
    .otherwise({templateUrl: location.pathname});
}]);

然而,这是行不通的。当我去 /help 时,什么也没有发生。我究竟做错了什么?

4

1 回答 1

1

从我的评论:

据我所知,目前没有办法只用路线来做到这一点。路由是静态的,它们被定义为应用程序加载,并且不会随着时间的推移而动态更新。因此,使用 location.pathname() (或直接检查 window.location)将不起作用,因为路由被设置为应用程序启动时的任何值,然后再也不会更改。除非您重新加载完整的浏览器,否则在加载新路径时它不会更新(顺便说一句,这是一种可能的解决方案)。

但是人们一直在使用包含来解决它,这可能对您有用,具体取决于您所追求的。有关其工作原理的示例,请参阅此问题和接受的答案。

AngularJS - 如何使用 $routeParams 生成 templateUrl?

于 2013-09-18T13:11:12.370 回答