5

angularを使用してアプリケーションを開発しています。Windows で、ローカル ファイル システムから開発しています。ただし、を有効にすると、ブラウザでangular-route.jsヒットするたびに、代わりにに移動します。index.htmlindex.html#/C:/

私のルート定義は次のとおりです。

myApp.config(['$routeProvider', function($routeProvider) {
    $routeProvider.when('/', {templateUrl: 'home.html', controller: 'HomeCtrl'});
}

/C:/どの角度ルートにも一致しないため、これによりサイトが壊れると思います。何がうまくいかないのですか?これを修正するにはどうすればよいですか?

4

2 に答える 2

7

ルーティングと ajax (およびその他) が適切に機能するためには、ローカル開発サーバーを実行します。file://ブラウザによってルールが異なるため、開発目的での使用は避けてください。

yeoman+のようなツールは、ファイルをローカルで提供するためにサーバーを実行するタスクをgenerator-angular含む gruntfile を自動的にセットアップします。servernode-connect

これを行うことができます

  • python: (3) python -m http.server 8001(2 の http.server を SimpleHttpServer に置き換えます)
  • node.js + 接続
  • ルビー+ラック
  • angularjsチュートリアル(「コードの操作」の5番)から-「システムでhttpサーバーを実行する必要がありますが、まだインストールしていない場合は、ノードを使用してscripts\web-serverを実行できます.js、バンドルされた単純な http サーバーです。」

コメントからの返信: phonegap については、 phonegap toolsを使用してください。それは私が言ったことを正確に実行し、ローカルサーバーを実行します。

于 2013-10-21T19:25:55.250 に答える
3

これは機能します。

angular.module('MainModule', []).config(function($locationProvider, $routeProvider) {
    $locationProvider.hashPrefix("!");
    $locationProvider.html5Mode(false);
    $routeProvider.when('/', {template: './js/templates/home.html', controller:HelloWorldCtrl});
    $routeProvider.when('/other', {template: './js/templates/other.html'});
});

インデックス HTML では、テンプレートを指定する必要があります。

<script type="text/ng-template" src="./js/templates/home.html"></script>
<script type="text/ng-template" src="./js/templates/other.html"></script>
于 2014-05-06T11:06:57.717 に答える