2016-01-08 78 views
1

我與動畫滾動,我已經在我的網頁上實現NG-路線衝突:ngRoute衝突與動畫滾動

這裏是我的滾動元素:

<a href="#one" class="goto-next scrolly">Next</a> 

其中「#one"是該區段ID,其中。滾動到後藤其次是圖像類scrolly對於平滑滾動動畫

這裏是我的ngRoute配置:

angular.module('starter', ['ionic','ngRoute']) 

.config(function($routeProvider) { 
     $routeProvider 

      // route for the home page 
      .when('/home', { 
       templateUrl : 'templates/home.html', 
       controller : 'mainController' 
      }) 

      // route for the about page 
      .when('/whatwedo', { 
       templateUrl : 'templates/whatwedo.html', 
       controller : 'mainController' 
      }) 

      // route for the contact page 
      .when('/tryus', { 
       templateUrl : 'templates/tryus.html', 
       controller : 'mainController' 
      }) 

      .when('/pricing', { 
       templateUrl : 'templates/pricing.html', 
       controller : 'mainController' 
      }) 
      .when('/videos', { 
       templateUrl : 'templates/videos.html', 
       controller : 'mainController' 
      }) 
      .otherwise({ 
     redirectTo: '/home' 
    }); 
}) 

無論何時單擊滾動元素,n-groute都會將其路由到默認網頁,而不是滾動,它將路由到默認網頁。無法修復它。請幫助。

編輯:使用ui.router代替ngRoute,但仍然滾動動畫(按鈕點擊自動滾動)不起作用。

+0

我已經試過....但它沒有動畫滾動,但直接跳轉到鏈接。 – shubhamr

+0

好的,這是真的。我個人建議[this](https://github.com/oblador/angular-scroll)之一,它非常簡單並且完美。 – SjaakvBrabant

回答

1

Angular中的內置路由器提供商並不完美,它有很多類似於您正在使用的問題,所以我不建議使用它。你可以看看ui-router,因爲這樣可以解決你的問題,因爲它實現了一個類似狀態的機器來處理路由/鏈接,它更加靈活和方便。

你有這樣的問題的原因是因爲它在URL中添加#one並且本質上Angular-router正在觀察更改並且它會自動處理新的URl,這很可能會說沒有找到該頁面。

查看README並查看提供的示例。

希望這可以解決您的問題。