2016-10-24 10 views
0

こんにちは皆私の質問はどのように角度jsとuriを変更するのですか?言い換えれば、関数が呼び出されると、私はページを変更したいと思います。ここではangularjsでルーティングできません

が私の角度コード

app.controller('meetupsController', ['$scope', '$resource', function ($scope, $resource) { 
    var Meetup = $resource('/api/meetups'); 

    Meetup.query(function (results) { 
    $scope.meetups = results; 
    }); 

    $scope.meetups = [] 

    $scope.createMeetup = function() { 
    var meetup = new Meetup(); 
    meetup.name = $scope.meetupName; 
    meetup.$save(function (result) { 
     $scope.meetups.push(result); 
     $scope.meetupName = ''; 
    }); 
    } 
}]); 

である私は、関数createMeetupが呼び出されたときにページを変更したいと思います。 10Q事前

答えて

0
app.controller('meetupsController', ['$location,$scope', '$resource', function ($location,$scope, $resource) { 
    var Meetup = $resource('/api/meetups'); 

    Meetup.query(function (results) { 
    $scope.meetups = results; 
    }); 

    $scope.meetups = [] 

    $scope.createMeetup = function() { 
    var meetup = new Meetup(); 
    meetup.name = $scope.meetupName; 
    meetup.$save(function (result) { 
     $scope.meetups.push(result); 
     $scope.meetupName = ''; 
$location.path('/newValue') <!-- it should be the path you want --> 

    }); 
    } 
}]); 
0

にあなたは使用してブラウザの新しいURLを設定することができます。

$ window.href.location = 'のhttp:// ...'

この中で説明したように答え:

https://stackoverflow.com/a/27941966

グレゴリオKusowskiがUI-ルータを使用して、前述したように、高度なルーティングまたはSPA(単一ページのアプリケーションを作成するための推奨されます)。通常、新しいオブジェクト(meeting、user、e.t.c)を作成するために、新しいURL全体に移動する必要はありません。

注:$ save "コールバック関数"の中に$ window.href.location文を入れてください。あなたが外に置くと、ページは変わりますが、あなたのミートアップデータは保存時間がないかもしれません。

このようにページを変更すると、スコープ変数などがすべて消去されることにも注意してください。あたかもページをリフレッシュしたかのようになります。私はあなたが望むものではないと確信しています。最良の結果を得るためにui-routerについて読んでください。

+0

okは10倍にします –

0

最も簡単な方法は、角度が$locationサービスがありますが、アプリを構築するために、私は、ルーティングのlibを使用することをお勧めいたしますでしょうwindow.location = '...';

を使用することです。角チームでさえ、ui-routerの使用をお勧めします。

関連する問題