4

私はangularJSを勉強していて、ボタンをクリックして新しいビューをロードしなければならない状況がありますが、URLは同じままです。私は次のようにjQueryで同じことをしました: $(".container").fadeOut("slow").load('page.html').hide().fadeIn();

どうしてそれは可能ですか?最初に他のビュー/ページにアクセスしないと他のビューは役に立たないため、URLを変更/ルーティングしたくありません。移行が必要です。

ng-includeも考えていました。しかし、ルーター経由のように(以下のように)、含まれているテンプレートごとに特定のコントローラーにストラップで固定することは可能ですか?または、カスタムディレクティブを実行する必要がありますか?

        .when('/page', {
        controller: Controller,
        templateUrl: 'page.html'
    })

ありがとう!

4

1 に答える 1

1

パスを変更したくない場合の唯一の実際のオプションは、ng-includeまたはカスタムディレクティブを使用することです。最も簡単な方法は、ng-includeを使用することです。コントローラマッピング用にインクルードしたHTMLのルート要素にng-controllerを追加するだけです。

Ng-viewはルートでのみ機能するため、ng-viewを使用するにはパスを変更する必要があります。

于 2013-03-27T02:53:55.800 に答える