2016-10-18 22 views
0

URLにいくつかの資格があるため、特定のページの後にURLを変更する必要があるプロジェクトで作業しています。URLを変更せずにAngularJSのページを更新する

location.Replace()メソッドを使用してこれを行いました。それはアドレスバーのURLを変更し、ページをリロードしましたが、私はそれを望んでいません。

たとえば、私のURLでabc.com/app/XXXX/#/app/inboxを交換する場合は、XXXX/を削除します。

私はlocation.replace(abc.com/app/#/app/inbox)を使用しました。それはURLを置き換えただけでなく、ページをリロードしました。私はURL変更にページをリロードすることを望まない。

答えて

0

あなたのapp.jsファイルにこのコードを追加してください。追加のパラメータを$location.path()に追加しています。お使いのコントローラのコール$location.path()で、その後

app.run(['$route', '$rootScope', '$location', function ($route, $rootScope, $location) { 
    var original = $location.path; 
    $location.path = function (path, reload) { 
     if (reload === false) { 
      var lastRoute = $route.current; 
      var un = $rootScope.$on('$locationChangeSuccess', function() { 
       $route.current = lastRoute; 
       un(); 
      }); 
     } 
     return original.apply($location, [path]); 
    }; 
}]); 

として
$location.path('/users/' +$scope.userid, false); 
関連する問題