Angularjs 当在id参数之前声明名称空间时,Angular UI路由器停止工作

Angularjs 当在id参数之前声明名称空间时,Angular UI路由器停止工作,angularjs,angular-ui-router,angular-ui,javascript,angular-ui-router-extras,Angularjs,Angular Ui Router,Angular Ui,Javascript,Angular Ui Router Extras,我正在我的网站上制作一个简单的博客部分,所以我希望有一个名为posts的名称空间,它可以动态链接到一个post模板。这些帖子都有自己的模板(即posts/some_post.html),因为它们的差异太大,不能只使用json数据来填充通用模板 我希望有一个名称空间,允许我创建每个帖子的链接,以便在生产中发布:mysite/posts/my_new_post。但是,在.state url中预先结束POST会导致无法实例化模块错误 这是工作代码的一个片段: .config(["$urlRouterP

我正在我的网站上制作一个简单的博客部分,所以我希望有一个名为posts的名称空间,它可以动态链接到一个post模板。这些帖子都有自己的模板(即posts/some_post.html),因为它们的差异太大,不能只使用json数据来填充通用模板

我希望有一个名称空间,允许我创建每个帖子的链接,以便在生产中发布:mysite/posts/my_new_post。但是,在.state url中预先结束POST会导致无法实例化模块错误

这是工作代码的一个片段:

.config(["$urlRouterProvider", "$stateProvider","$locationProvider", function ($urlRouterProvider, $stateProvider,$locationProvider){

$urlRouterProvider.otherwise('/');

$locationProvider.html5Mode(true);

$stateProvider

  .state('posts', {
    url: '/:postID',
    templateUrl : function($stateParams){
      return 'templates/posts/' + $stateParams.postID + '.html';
    },
  });


}]);
这段代码可以工作,我可以链接到生成的URI。单击此链接时:

li><a ui-sref="posts({postID: 'blog2'})">blog 2</a></li>
这个链接第一次就可以用了,然后把我带到正确的页面, 如果我键入URI模式mysite/posts/blog1,我会得到:Uncaught Error:[$injector:modulerr]错误,这个奇怪的:Uncaught SyntaxError:Unexpected token<


不知何故,它不是加载角度,有人有什么想法吗?

您使用的是HTML5模式,这需要正确配置两件事:

  • 服务器部分-服务器必须知道,有些请求不是针对服务器的。。它们是虚拟的。一定会发生一些事情。检查如何在此处:
  • 客户端-浏览器必须能够理解url的哪一部分应被视为相对的
要回答第二部分,请检查或是否有工作示例/plunker

短篇故事:

通常,我们必须为HTML元素
提供一个默认值href

<base href="/" />
查看更多详细信息

您需要某种形式的来处理初始页面。有吗?还有,完整的错误和位置是什么?
<base href="/" />
$locationProvider.html5Mode({
   enable: true,
   requireBase: false.
});