$ location的概念

时间:2015-10-18 12:42:48

标签: javascript angularjs

我不明白这一点。在我当地,我正在尝试开发一个网站。在该网站链接正在应用程序中,但当我尝试F5或复制该链接并将其粘贴到浏览器时,我收到404 Page Not Found错误。我谷歌它,发现这与解析URL有关,但无法弄清楚如何做到这一点。这是我的代码:

的Javascript

.config(function($stateProvider, $urlRouterProvider, $locationProvider) {
$stateProvider
    .state('baba', {
        url: "/",
        templateUrl: "baba.html"
    })
    .state('icerik', {
        url: "/icerik/:ad",
        templateUrl: "icerik.html",
        controller: "mmgCtrl",
    })
    .state('oku', {
        url: "/oku/:serix/:klasor",
        templateUrl: "oku.html",
        controller: "nbgCtrl"
    })
$locationProvider.html5Mode(true);
$urlRouterProvider.otherwise('/');

.controller('indexCtrl', function($scope, $location) {
    $scope.yonlen = $location.path();
})

我有两条路线。 /icerik/oku。所以我认为我应该做if if哪个url去哪个范围。

的index.html

<div ng-repeat="manga in mangas">

<a ng-href="{{yonlen}}></a>

</div>

1 个答案:

答案 0 :(得分:1)

在幕后,它使用pushState

使用JavaScript更改页面状态时,应将URL更改为使服务器在状态中生成页面的URL。

这意味着if the JavaScript failed for any reason,内容would still load correctly,如果有人关注深层链接,他们会直接(因此很快)加载他们实际的内容关心。

例如:

  • 访客到达主页
  • 服务器提供主页(加上所有角度代码)
  • 他们点击&#34;博客&#34;链路
  • 您加载博客内容并将其放在页面上(使用JS)
  • 您在不从服务器加载新页面的情况下将URL更改为/blog/(仍使用JS)

但是:

  • 访客到达博客
  • 服务器提供博客页面(加上所有角度代码)

您正在更改网址,但尚未完成将正确的内容放在该网址位。这需要服务器端工作。