0

我是 angularjs 的新手,只是想用它构建一个 CRUD 应用程序。

我的代码是这样的http://jsfiddle.net/fpnna/1/

我使用 apache 作为网络服务器,当打开

$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 中您不需要正文标签,而且您有多个正文标签。此外,您的小提琴有两个 ng-apps,路线定义不正确(例如应该是 /new),无效的 ng-view 结束标记,应该只有一个。您应该在头中包含 No wrap 的 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 回答