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