AngularJSバージョン1.3.16とnodeJSを角度ルーティングのバックエンドとしてng-routeとして使用しています。作業コードは#!ノードと角度のURLセパレータとして使用します。angularjs 1.3.16 html5modeでルーティングするとURLは更新されますが、コンテンツは更新されません
URLの例:!! /店舗/ 1234 /#/部門/ /店舗/ 1234 /#/部門/プロデュース/カテゴリを生成/果物
NodeJSルーティングコード:
app.get('/store/:storeid', ctrl.storeView);
角度ルーティングコード:
$routeProvider.when('/department/:deptIndex', {
controller: 'CartController',
resolve: {
// I will cause a 1 second delay
delay: function ($q, $timeout) {
var delay = $q.defer();
$timeout(delay.resolve, 1000);
return delay.promise;
}
}
}).when('/department/:deptIndex/category/:catIndex', {
controller: 'CartController',
resolve: {
// I will cause a 1 second delay
delay: function ($q, $timeout) {
var delay = $q.defer();
$timeout(delay.resolve, 1000);
return delay.promise;
}
}
});
$locationProvider.html5Mode(false).hashPrefix('!');
URLをSEOのフレンドリーでクロール可能にするには、URLからハッシュバングを削除する必要があります。 この問題は、html5モードを有効にしようとしているときに発生します。モードを有効にすると、角度ルーティングが機能しません。
「機能しない」とはどういう意味ですか?エラーがスローされていますか?画面は空白ですか?いずれのルートも有効ですか? –
あなたのコードは$ locationProvider.html5Mode(false)で動作しますか? –
@BOSSはい、私のコードはhtml5modeがディアブルです。 –