0

アプリケーション内で使用しているルート プロバイダーに少し行き詰まっています。私はこれらすべてを醜くするためにうなり声を使用しているので、それがその一部であるかどうか疑問に思い始めていますか?

とにかく、app.config を使用したいくつかのコード サンプル:

$locationProvider.html5Mode(true);

$routeProvider.when('/home', {
    controller: 'theAppController',
    template: ''
}).otherwise({
    redirectTo : '/default'
});

コントローラー (当面は app.js にあります)

app.controller("theAppController", function($scope){
    console.log("I'm an App controller!!!!!");
});

app.run の間、私はこれを呼び出しています:

.run(
    ['$route', '$rootScope', '$location', function($route, $rootScope, $location) {
        console.log($route);
    }]
)

出力しているのは

Object {routes: Object, reload: function}
current: e.extend.e.extend
    $$route: Object
        controller: "theAppController"
        keys: Array[0]
        originalPath: "/home"
        regexp: /^\/home$/
        reloadOnSearch: true
        template: ""
        __proto__: Object
locals: Object
params: Object
pathParams: Object
__proto__: Object
reload: function (){u=!0;a.$evalAsync(l)}
routes: Object
__proto__: Object

$routeProvider が実際にヒットしたかどうかを確認する簡単なテストとして、(home1) を実行しました。

$routeProvider.when('/home1', {
    controller: 'theAppController',
    template: ''
}).otherwise({
    redirectTo : '/default'
});

それ以外の場合は正しくヒットし、URLを /default に変更しました

ルート サービスをダンプすると、現在のルートは正しく設定されていますが、テンプレート (テスト済みで何も表示されていませんが空です) もそのルートのコントローラーも読み込まれていないことがわかります。正しくないコントローラーがロードされました。

これについて何か考えはありますか?

クイック編集:私もhtmlを使用しています

<div ng-view></div>
4

1 に答える 1