2

angular jsアプリをリセットするためのリセットリンクがあります...

<a ng-click="resetApp()">reset</a>

メインコントローラーでボタンの押下を処理しています...

$scope.resetApp = function(){

    if(confirm("You will lose data...")){

      $scope.user.reset();

      // not sure how to do this in more angular js way
      window.location = "/#";

    }

}

私が行ったように設定することwindow.locationが正しい方法であるかどうかはわかりません。それは私にとってはうまくいきますが、正しい方法ではないようで、オンラインでそれを行う方法を見つけることができませんでした.

4

1 に答える 1

10

私はこのようないわゆる AngularJS の方法を使用してきましたが、少なくともルーティングはブラウザではなく AngularJS によって処理されます。

function Ctrl($scope, $location) {

    $scope.resetApp = function(){

        ...

        $location.url('/');
    }
}

パスは、次のRoute Providerように定義されているものです。

app.config(['$routeProvider', function ($routeProvider) {
    $routeProvider.
        when('/', {
            templateUrl: 'index.html',
            controller: 'Ctrl'
        }).
...
于 2013-08-06T19:12:36.303 に答える