2013-06-02 115 views
2

我设置了一个非常简单的AngularJS应用程序,并遇到了一个小问题,但令人沮丧的问题。下面是使用$ routeProvider示例应用程序:AngularJS - templateUrl路径附加到href路径

angular.module('thought', [], function($routeProvider, $locationProvider) { 
    $routeProvider. 
     when('/thought', { 
      templateUrl: 'partials/thought/posts.html', 
      controller: ThoughtCntl 
     }). 
     when('/thought/edit/:id', { 
      templateUrl: 'partials/thought/edit.html', 
      controller: EditCntl 
     }).otherwise({ 
      redirectTo: '/thought' 
     }); 

    $locationProvider.html5Mode(true); 
}); 

下面是posts.html的内容:

<div> 
<button>Create</button> 

<div> 
    <h3>Posts</h3> 
    <ul> 
     <li ng-repeat="post in publishedPosts"> 
      <a href="/thought/edit/{{post._id}}">{{post.title}}</a> 
     </li> 
    </ul> 
</div> 
</div> 

当我浏览到/思想,posts.html负载与相应的数据内容。该链接应该包含'href = localhost:8080/thought/edit/1234'。但是,当我点击链接时,它会尝试从'localhost:8080/thought/edit/partials/thought/edit.html'加载模板。 templateUrl路径被附加到href路径。我相信一些简单的配置是错误的,但我找不到它。任何想法我应该看看?

谢谢!

+0

你尝试设置以 “/” 一个templateUrl?也许它是相对于当前网址设置的。 –

回答

2

使用<base>标签:

<base href="/" /> 
+0

完美,谢谢! – Geoff