角度链接。什么是#,它做什么?

时间:2015-06-18 19:40:34

标签: angularjs

我正在研究CA角度课程。我对这段代码有疑问:

<div class="main">
  <div class="container">

    <h2>Recent Photos</h2>
    <div class="row">
      <div class="item col-md-4" ng-repeat="photo in photos">
        <a href="#/photos/{{$index}}">
          <img class="img-responsive" ng-src="{{ photo.url }}">
          <p class="author">by {{ photo.author }}</p>
        </a>
      </div>
    </div>

  </div>
</div>

因此,当我点击照片时,angular知道它的索引是什么,并且索引作为routeParams权限被中继到PhotoController,您可以通过$ routeParams.id访问它。但是什么是#?

3 个答案:

答案 0 :(得分:2)

char [{1}}(也称为哈希)用于在您的应用/您的网站内导航,并阻止浏览器刷新当前页面。

如果您查看自己的网址,则会看到哈希#后跟/ photos / {{$ index}}

如何在AngularJS中处理Hash?

在AngularJS中,您可以使用 $ location服务来管理网址

  

$ location服务解析浏览器地址栏中的URL(基于window.location),并使URL可供您的应用程序使用。对地址栏中URL的更改将反映到$ location服务中,对$ location的更改将反映到浏览器地址栏中。

https://docs.angularjs.org/guide/ $位置

答案 1 :(得分:1)

用于名为哈希导航的内容,哈希导航是网址元素的单独部分。 hash用于内部哈希路由而不是整页路由。

答案 2 :(得分:1)

不仅在angualrjs中,而且在每个网络项目中,如果我们使用一些网址后跟#不会重新加载页面。 我希望你也注意到使用<a href="#">作为虚拟网址。