【问题标题】:Angular 1.6.1 dynamic route templateAngular 1.6.1 动态路由模板
【发布时间】:2017-02-05 03:19:48
【问题描述】:

我正在尝试实施我发现的动态路由解决方案here,但它不起作用。我已经为我的应用程序对其进行了如下调整。在进行故障排除时,我在我的时间之后添加了一个 else ,并且每次都达到了它。当我请求#/contact/list 时,我无法弄清楚为什么动态路由没有得到处理。我正在使用 AngularJS 1.6.1。使用 AngularJS 1.6.1 时路由路径有不同的语法吗?

$routeProvider.
when('/:templateName/:pageId', {
    templateUrl: function (urlattr) {
        return 'views/' + urlattr.templateName + '/' + urlattr.pageId + '.html';
    },
    controller: 'contactController'
}).
otherwise({
    templateUrl: function (urlattr) {
        return 'views/home/home.html'
    },
    controller: 'homeController'
});

【问题讨论】:

  • 我想通了。我的路线显然很好。我用于测试的网址没有“!”其中的人物。我应该使用 ""#!/contact/list" 进行测试。PS - 我没有提供答案并关闭它的声誉,所以请为我这样做。
  • 它对你有用吗?

标签: javascript angularjs routes


【解决方案1】:

您的路由中缺少 hashPrefix !。将您的路线更改为#!/contact/list 而不是#/contact/list,您会没事的。

您可以使用$locationProvider.hashPrefix('!'); 更改或停用此前缀。

Hashbang模式

$locationProvider
    .html5Mode(false)
    .hashPrefix('!');

HTML5 模式

$locationProvider
    .html5Mode(true);

查看AngularJS location documentation 了解更多信息。

【讨论】:

    猜你喜欢
    • 2021-11-18
    • 1970-01-01
    • 2021-10-14
    • 2017-11-25
    • 2014-12-14
    • 1970-01-01
    • 1970-01-01
    • 2014-04-21
    • 2020-09-12
    相关资源
    最近更新 更多