Angular 1.6.1动态路由模板

时间:2017-02-05 03:19:49

标签: javascript angularjs routes

我正在尝试实施我发现here的动态路由解决方案,但它无法正常工作。我已按照以下方式为我的应用调整了它。在进行故障排除时,我在我的时间之后添加了一个,并且每次都到达。我无法弄清楚为什么在我请求#/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'
});

1 个答案:

答案 0 :(得分:2)

您错过了路线中的hashPrefix SequenceFile.Reader reader = new SequenceFile.Reader(conf, SequenceFile.Reader.file(fileStatus.getPath())); MyWritable1 key = (MyWritable1) ReflectionUtils.newInstance(reader.getKeyClass(), conf); MyWritable2 value = (MyWritable2) ReflectionUtils.newInstance(reader.getValueClass(), conf); while(reader.next(key, value)){ //<- exception on this line //some code } 。将您的路线更改为!而不是#!/contact/list,您就可以了。

您可以使用#/contact/list更改或停用此前缀。

Hashbang模式

$locationProvider.hashPrefix('!');

HTML5模式

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

请查看AngularJS location documentation了解详情。