3

私のアプリは chrome と FF では正常に動作しているようですが、IE ではルーティングに問題があります。

次のようにアプリを宣言すると

var app = angular.module('category', ['ngSanitize', 'ui']);

全く問題ありません

ただし、これを変更して、このようなルート定義を含めると

var app = angular.module('category', ['ngSanitize', 'ui']).
  config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) {
  $routeProvider.
  when('/cat/', {templateUrl: '/category.inc.php',   controller: 'CategoryProductsCtrl'}).
  when('/cat/:colour_title/', {templateUrl: '/category.inc.php', controller: 'CategoryProductsCtrl'});
}]);

IE はアドレスバーの猫の前に # を追加するので、

example.com/cat/

表示されます

example.com/#/cat/

IE コンソールで次のエラーが表示されます

エラー: 10 回の $digest() 反復に達しました。中止します!最後の 5 回の反復で発生したウォッチャー: [["fn: function(){var a=d.url(),b=..............

ここで手順を実行しました

http://docs.angularjs.org/guide/ie

そして含めています

JSON2、angular-ui-ieshiv.min.js html5shim.js (IE7 で動作させるため)

私のアプリではantカスタムタグなどを使用していません。どんな助けでも大歓迎です。サーバーからデータを取得していますが、アプリは実質的にこれと同じ状態です

http://docs.angularjs.org/tutorial/step_07

4

1 に答える 1

0

ルーター設定で HTML5 モードを true に設定し、URL から「#」を削除する可能性があります。url: 'http://your_site.com/page/home'

そのようです..

app.config: $locationProvider.html5Mode = true;
index.html: <base href="root_directory_here" />

[詳細はこちらそしてこちら]

于 2016-04-21T23:19:02.943 に答える