3

Angular を既存の Rails アプリの 1 つのページに組み込む作業を行っています。

次を使用して、ページ内のルーティングですべてが完全に機能しています

app.config(function($routeProvider, $locationProvider) {
    $routeProvider
      .when('/services/:id', {
        templateUrl: "/javascripts/angular/templates/service_ui/service.html",
        controller: "ServiceCtrl"
     })

     $locationProvider.html5Mode(true);
});

ただし、Angular に関係のないリンクについては、通常の機能を維持したいと考えています。たとえば、ヘッダーには、Angular ルーターによってキャッチされている他の場所にリンクする多数のリンクがあります。

https://groups.google.com/forum/?fromgroups#!topic/angular/basidvjscRkでいくつかの潜在的な解決策を見つけました。

しかし、ベースパスメソッドは機能していないようです..そして、target="_self" メソッドはかなり邪魔です。config関数で指定されていないルートをAngularに無視させるより良い方法はありますか?

.otherwise() メソッドがあることは知っていますが、これもハックのようです。何か不足していますか?

本当にありがとう!

4

2 に答える 2

0

あなたのために働くかもしれない別のオプションは、を変更することです$rootElement: リンクのインターセプトは、ng-app として宣言された要素内でのみ発生します。

私の場合、 から に切り替えまし<body ng-app="myApp"><section id="my-rich-area" ng-app="myApp">

そのセクションymmv内に同じドメインの角度のないリンクがなかったので、これは私にとってはうまくいきました。

于 2015-10-14T19:02:55.820 に答える