2017-08-15 1 views
0

私は設定変更はAngularJs

$routeProvider.when('/products', { templateUrl: '../pages/home/home.html', 
controller : 'mainController' }); 
でこのコントローラ

$scope.$on('$routeChangeSuccess', function (newRoute, oldRoute) { 
$location.hash($routeParams.scrollTo); 
$anchorScroll(); 
}); 

でのナビゲーションバー

<li><a href=#products?scrollTo=products">Products</a></li> 

これでコードの一部とこれを持っているを使用してカスタム1のURLを表示しました

ホームページにいなくても、#products divがある場所にスクロールするので、期待どおりに動作します。 (ホームページに戻り、自動的にスクロールする)。それは/製品言いURLで今

、?scrollTo =製​​品番号製品

よりwww.home.comまたはwww.home.com/productsのようなもののためにそれを変更する方法はありますか?

ありがとうございます!

答えて

0

ハッシュを$ anchorScrollに渡すことができます。ハッシュをURLに追加することなくそこに移動できます。

$scope.$on('$routeChangeSuccess', function (newRoute, oldRoute) { 
    $anchorScroll($routeParams.scrollTo); 
}); 
+0

あなたが示唆したと、私はまだ「奇妙な」URLを持っていますが、今のページは時々希望セクション – user3074989

+0

にあなたをスクロールしないように私がしたので、この部分

  • Products
  • は、URLを作る1であるように思えます$ timeout(()=> {$ anchorScroll( "tr_" + id)}、0)のようなものでタイムアウトで$ anchorScrollへの呼び出しをラップする必要があります: –

    関連する問題