0

私はangularjsが初めてで、CRUDアプリを構築しようとしていました。

私のコードは次のようなものですhttp://jsfiddle.net/fpnna/1/

そして、私はApacheをWebサーバーとして使用しています。

$locationProvider.html5mode(true);

それから取得

uncaught TypeError: Object #<Ic> has no method 'html5mode' from testApp 

「新規追加」をクリックすると、パスが「/new」に変更されますが、エラーが発生します

404 The requested URL /new was not found on this server.

私が間違っているところを考えてください。

公式の説明書を読んだのですが、わかりませんでした。

前もって感謝します。

4

1 に答える 1

5

いくつかの問題があります。最初に jsfiddle では body タグは必要なく、複数の body タグがあります。また、フィドルには 2 つの ng-apps があり、ルートが正しく定義されていません (たとえば、/new である必要があります)。無効な ng-view 終了タグです。1 つだけである必要があります。No wrap in head を使用して JavaScript を含める必要があります。最後に、モードhtml5Modeに大文字Mを使用し、URL にパーシャルが存在せず、ローカル スクリプトとして定義されていません。

plunkr を使用すると、他のローカル ファイル、つまりフィドルに存在しない部分ファイルを追加できるため、使用することをお勧めします。

この plunkr のすべての問題を解決しました: http://plnkr.co/edit/A23Fxn9Ji02TGZ0jouZR?p=preview

angular.module('testApp', []).
config(function ($routeProvider, $locationProvider) {
     $locationProvider.html5Mode(true);  // case is important
    $routeProvider.
    when("/", {
        templateUrl: "list.html"
    }).
    when("/new", {  // make sure and use absolute link to route
        templateUrl: "edit.html"
    })
})

function testCtrl($scope) {
    $scope.persons = [{
        name: "X"
    }, {
        name: "Y"
    }, {
        name: "Z"
    }]
}

そしてhtml:

<body ng-controller="testCtrl" >
  <div class="main-nav">  <a href="new">Add Me</a>
    </div>INDEX
    <div  >
        <div ng-view>

        </div>
    </div>
</body>

ドキュメントとチュートリアルを参照して、プロジェクトの設定に関する基本事項を学習してください。 http://docs.angularjs.org/guide/bootstrap

于 2013-05-09T13:20:19.320 に答える