2016-05-19 13 views
0

私は基本的なルートだと思ったものを使用していますが、それは私を好きではありません。AngularJS Routeは次のビューを表示して、前のビューに戻ります

.config([ 
     '$routeProvider', 
     function($routerProvider){ 
      $routerProvider 
       .when('/view',{ 
        templateUrl: 'view-profile.html', 
        controller: 'UserProfileController' 
       }) 
       .when('/edit',{ 
        templateUrl: 'edit-profile.html', 
        controller: 'UserProfileController' 
       }) 
       .otherwise({ 
        redirectTo: '/view' 
       }); 
     } 
    ]); 

上記の作業は、ブラウザで手動で/ view// editを入力してロードして作業することができます。

私のページにUIを切り替えるためのボタンがあり、そのときに新しいビューが表示され、すぐに戻ってきます。私はオン/ビューで、編集するパスを変更するにはクリックし、編集してからビューに戻る。しかし、私が編集を開始してクリックして表示に変わると、それは固執します。私はその後、うまく編集するために戻ることができます。ページが表示されているときに表示されます。

は、ここで私が望む

this.viewProfile = function() { 
     $location.path('/view'); 
    }; 
    this.editProfile = function() { 
     $location.path('/edit'); 
    }; 

を変えることだし、ボタンは/編集オン/ビュー

<button ng-click="user.editProfile()">Edit My Profile</button> 

よう

<button ng-click="user.viewProfile()">Save</button> 

感謝を見てみましょう!

答えて

0

"window.location.href"で試しましたか?

window.location.href = "#/view"; 

または適用のあるもの?私はあなたがここに2つのオプションを持っていると思う

$scope.$apply(function() { 
    $location.path('/view'); 
}); 

またはタイムアウト

$timeout(function() { 
    $location.path('/bar'); 
}); 
+0

私はそれらを試していません。私のページにルートを追加しました。私が変更/追加したのは上記のものです。 –

0

で何か。ボタンの代わりに、あなたは

<a href="/edit">Edit My Profile</a> 

他のオプションは$スコープを使用することで行きたい場所を指すようにHREFタグを使用することができます。$(適用)$のlocation.path後の()。私はそれがうまく動作すると思うが、私は最初のオプションが良いと思う。

+0

ボタンのコードが追加されました –

関連する問題