我正在尝试实施我发现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'
});
答案 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
更改或停用此前缀。
$locationProvider.hashPrefix('!');
$locationProvider
.html5Mode(false)
.hashPrefix('!');
请查看AngularJS location documentation了解详情。