2016-01-28 54 views
0

我知道这个问题可能很愚蠢,但是在遍历整个stackoverflow和其他博客以及视频教程后,我没有别的选择,只能在stackoverflow上询问这个问题。 我一直在通过在线教程学习Angular.js。Angular.js ui-sref不会创建超链接

我有2个文件。 index.html和app.js

这是我的代码的一些快照。

美国配置部分内app.js内的index.html

angular.module('flapperNews', ['ui.router']).config(['$stateProvider','$urlRouterProvider',function($stateProvider, $urlRouterProvider) {$stateProvider 
    .state('home', { 
     url: '/home', 
     templateUrl: '/home.html', 
     controller: 'MainCtrl' 
    }) 
    .state('posts', { 
     url: '/posts/{id}', 
     templateUrl: '/posts.html', 
     controller: 'PostsCtrl' 
    }) 

$urlRouterProvider.otherwise('home')}]); 

内联模板(1-home.html做为,2- posts.html)

<ui-view></ui-view> 
<script type="text/ng-template" id="/home.html"> 
    <!--home.html part--> 
</script> 
<script type="text/ng-template" id="/posts.html"> 
    <!--posts.html part--> 
</script> 

inside home.html我在评论上有超链接。

<div ng-repeat="post in posts | orderBy:'-upvotes'"> 
    <span class="glyphicon glyphicon-thumbs-up" 
    ng-click="incrementUpvotes(post)"></span> 
    {{post.upvotes}} 
    <span style="font-size:20px; margin-left:10px;"> 
    <a ng-show="post.link" href="{{post.link}}"> 
     {{post.title}} 
    </a> 
    <span ng-hide="post.link"> 
     {{post.title}} 
    </span> 
    <span> 
     <a ui-sref="/posts/{{$index}}">Comments</a> 
    </span> 
    </span> 
</div> 

现在,当我在我的本地运行此Web应用程序是显示我的评论超级链接的这种呈现的HTML,但它不提供我任何导航(超链接无法正常工作)。

<span> 
    <a ui-sref="/posts/0">Comments</a> 
</span> 

现在,我有两个问题:

  1. 出了什么UI的SREF part.When我使用的href,而不是UI-SREF则可以正常使用fine.Why会出现这种情况?
  2. 我一直在使用home.html和posts.html的内联模板,但是如果我将它们制作成单独的文件,那么我的整个应用程序就会被破坏。为什么?

任何帮助将是值得赞赏的。

+0

您是否检查了浏览器开发控制台?使用模板作为单独文件时记录的任何错误? – Raghu

+0

它显示了这个:http://localhost/home.html加载资源失败:对于问题1或2,服务器的响应状态为404(未找到) – unlucy7735

回答

2

1)你已经使用ui-sref的方法是什么原因造成它在你的应用程序break.Try此,

<a ui-sref="posts({ id: $index })">Comments</a> 

2)假设你的新模板文件是作为同一级别您的index.html和app.js您不需要提及templateUrl: '/posts.html',只需使用templateUrl: 'posts.html'即可。

+0

? – unlucy7735

+0

它解决了问题1。谢谢man.Now for question no 2?问题编号:2的 – unlucy7735

+0

,显示如下:localhost/home.html加载资源失败:服务器响应状态为404(未找到) – unlucy7735