20

私はAngularを使い始めたばかりなので、これは一般的な初心者の間違いかもしれませんが、次のURL形式を実現しようとしています。

http://myapp.localhost/index.html#!/about

Angularのデフォルトはどれだと思いますか?

これは私の構成です:

angular.module('App', []).config(function($routeProvider, $locationProvider, VIEWS_ROOT) {
    $locationProvider.html5Mode(false);
    $locationProvider.hashPrefix = '!';

    // Routing
    $routeProvider.when('/', {templateUrl: './welcome.html', controller: 'WelcomeController'});
   $routeProvider.when('/about', {templateUrl: './about.html', controller: 'AboutController'});
})
.run(function($rootScope) {
    //...
});

私のhtmlには、次のような単純なアンカーがあります。

<a href="#!/about">About</a>

ただし、そのアンカーをクリックすると、作成されるURLは次のようになります。

http://myapp.localhost/index.html#/!/about

これは明らかに私のルートのいずれにも一致しません...ここで実際に起こっていること、または私が間違っていることについて少し困惑しています。私はvhostの下でローカルApacheインスタンスを実行しています。mod_rewriteには何も起こっていないので、Angularがこれを行っているように見えます。

4

1 に答える 1