jQueryを使用してangularJSアプリをセットアップしようとしていますが、次のようなURLに角度ルーティングシステムを使用しています:
var app = angular.module('app', []);
app.config(function($routeProvider) {
$routeProvider.when('/start_page', {
templateUrl: 'path/to/template',
controller: 'StartPageController'
});
$routeProvider.when('/container/:container/thing/:thing', {
templateUrl: 'path/to/template',
controller: 'ThingsInContainersController'
});
$routeProvider.otherwise({ redirectTo: '/start_page' });
})
container_id と thing_id を選択できるインターフェイスを備えたスタート ページに移動すると、すべてが完全に機能するコンテナーとモノのルートに移動できます。問題は、コンテナーの Thing ページを更新すると、次のエラーが発生することです。
Uncaught Error: Syntax error, unrecognized expression: [href=#container/1/thing/2]
これは、スタック トレースから jQuery エラーのようです。トレースは私のコードについてまったく言及していません。/
いくつか試してみましたが、URLの後に複数の URL を入力する#
と、開始ページに適切にリダイレクトされる代わりにエラーが発生するようです。今のところ私の解決策は、-
s の代わりに/
s をURL区切り文字として使用することでしたが、これは実際には正しい方法であると思われ、それが何であるか疑問に思っています.
私の現在の解決策:
var app = angular.module('app', []);
app.config(function($routeProvider) {
$routeProvider.when('/start_page', {
templateUrl: 'path/to/template',
controller: 'StartPageController'
});
$routeProvider.when('/container-:container-thing-:thing', {
templateUrl: 'path/to/template',
controller: 'ThingsInContainersController'
});
$routeProvider.otherwise({ redirectTo: '/start_page' });
})