【问题标题】:Redirection page with angularJS使用 angularJS 的重定向页面
【发布时间】:2015-06-02 16:42:04
【问题描述】:

我使用带有 html 页面的 angularJS 脚本。我使用这个库:https://github.com/oblador/angular-scroll

我使用这个库提供的脚本在我的 url 中有一个滚动间谍。 它运作良好,但如果我有一个重定向到另一个页面的链接并且它不会重新加载页面。网址已更改,但内容未更改。如果我删除了脚本,则链接有效。

这是脚本:

var myApp = angular.module('app_example', ['duScroll'])
.config(function($locationProvider) {
  $locationProvider.html5Mode({
    enabled: true,
    requireBase: false
  })
}).
run(function($rootScope, $location) {
  $rootScope.$on('duScrollspy:becameActive', function($event, $element){
    //Automaticly update location
    var hash = $element.prop('hash');
    if (hash) {
      $location.hash(hash.substr(1)).replace();
      $rootScope.$apply();
    }
  });
});

这是脚本的笨拙:http://plnkr.co/edit/emrTAvTPMKbLUNYi40Xq?p=preview

而没有 :http://plnkr.co/edit/xfsAWsLADkW6F98exC4P?p=preview 的 plunker

【问题讨论】:

    标签: javascript angularjs


    【解决方案1】:

    您应该将 "true" 分配给 "html5Mode.requireBase"

    相对link

    【讨论】:

    • 这还不够,但我找到了答案:)
    • @MartelBenjamin 感谢您的回复!
    • 抱歉,您的回复也有效。但是另一个问题解决了,当我滚动顶部时,它被跳转到了该部分的顶部。
    【解决方案2】:

    其实我们不用$location,历史就够了:)

    新脚本:

    .run(function($rootScope, $location) {
        if(!history || !history.replaceState) {
          return;
        }
        $rootScope.$on('duScrollspy:becameActive', function($event, $element){
          //Automaticly update location
          var hash = $element.prop('hash');
          if (hash) {
            history.replaceState(null, null, hash);
          }
        });
      });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-09-23
      • 1970-01-01
      • 2013-09-07
      • 2016-09-03
      • 2014-08-28
      • 2016-11-21
      • 2015-03-12
      相关资源
      最近更新 更多