12

URL をリダイレクトまたは更新するにはどうすればよいですか? これに関する適切なドキュメントが見つかりません。基本的に、私がやりたいことは、$routeParams を動的に変更し、URL を新しい値で更新することです。

私のコードは次のようになります。

if ($routeParams.time) {
        var url;
        $routeParams.time = encodeURIComponent(value);
        url = '/' + $routeParams.time + '/' + 'marketing/networks';
        $location.path(url);
    } else {
        $routeParams.time = encodeURIComponent(value);
        url =  '/' + $routeParams.time + $location.path();
        $location.path(url);
    }
4

3 に答える 3

23

私の答えへのコメントを読んだ後、おそらくこの場合の正しい答えではないと思います。このソリューションを使用する前に、コメントやその他の回答を読んでください。私はもうAngularを使用していないので、答える資格がないと感じています.

元の回答を変更せずに以下に残します。

場所を適切に変更していますが、AngularJS は変更されたことを認識していません。次のように、スコープのメソッド '$apply' を使用して問題を解決できます。

$location.path( url );
$scope.$apply();

またはこのように:

$scope.$apply( $location.path( url ) );

ここで $apply のドキュメントを参照してくださいhttp://docs.angularjs.org/api/ng.$ro​​otScope.Scope

于 2013-01-24T09:52:55.193 に答える
3

http://docs.angularjs.org/guide/dev_guide.services.$location (セクション内)$window.location.hrefによると、代わりにネイティブ ブラウザー オブジェクトを試してみることをお勧めします。Caveats

于 2012-10-09T21:47:54.287 に答える