首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Angular、ngRoute、routeProvider

Angular、ngRoute、routeProvider
EN

Stack Overflow用户
提问于 2016-04-10 20:23:35
回答 2查看 246关注 0票数 1

早上好!我正在试着用弹簧靴做angular应用程序。我在后端使用了spring boot,但当我开始使用Angular做前端时,我得到了一些误解。我在浏览器中遇到了一些错误,我无法理解错误的含义和含义。我搜索了整个堆栈溢出,但没有找到任何关于它的东西。

我的book.html和book.js是:

代码语言:javascript
复制
var myApp = angular.module('myApps',['ngRoute']).

config(['$routeProvider',function($routeProvider,$locationProvider){
    $locationProvider.html5Mode(true);
    $routeProvider.when('/books/',
        { templateUrl:'/book/list'}

    )}]);
代码语言:javascript
复制
<!DOCTYPE html>
<html  >
<head>
    <!--<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.4/angular.min.js"></script>-->
    <!--<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.4/angular-resource.min.js"></script>-->
    <!--<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.4/angular-route.min.js"></script>-->

</head>
<body>
<div data-ng-app="myApps">

    <h1>Hello</h1>



    <data-ng-view>

    </data-ng-view>



</div>
<script src="https://code.jquery.com/jquery-1.12.3.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
<script src="//code.angularjs.org/1.4.4/angular.min.js"></script>
<script src="//code.angularjs.org/1.4.4/angular-route.js"></script>
<script src="//code.angularjs.org/1.4.4/angular-resource.min.js"></script>
<script type="text/javascript" src="apelo/book.js"></script>
</body>
</html>

当我使用routeProvider访问url时,应该在book.html中的list.html是:

代码语言:javascript
复制
<table >
    <thead>

    <tr>
        <td>#</td>
        <td>Name Book</td>
        <td>Author</td>
        <td>Count</td>
        <td><i class="icon-plus-sign"></i></td>

    </tr>

    </thead>
    <tbody>

    <tr data-ng-repeat="book in book">
        <td>{book.id{}}</td>
        <td>{{book.name}}<td>
        <td>{{book.author}}</td>
        <td>{{book.count}}</td>
        <td><i class="icon-edit"></i></td>
    </tr>

    </tbody>
</table>

在这一切之后,我试着跑,得到了这个:

请注意,我在book.js $locationProvider中定义了html5Mode(true);,但无论如何我必须在url中放入#以呈现页面,我正在尝试不使用它,但我从后端获得了json值。

我试了所有我能找到的东西,但还是找不到。我希望你能找出发生了什么事。

<--更新-->

从所有脚本中删除.min后,我得到了新的浏览器控制台错误。

EN

回答 2

Stack Overflow用户

发布于 2016-04-10 21:02:19

首先,在开发应用程序时,不要使用angular的缩小版本来查看浏览器控制台中描述的错误:

代码语言:javascript
复制
<script src="https://code.jquery.com/jquery-1.12.3.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
<script src="//code.angularjs.org/1.4.4/angular.js"></script>
<script src="//code.angularjs.org/1.4.4/angular-route.js"></script>
<script src="//code.angularjs.org/1.4.4/angular-resource.js"></script>
<script type="text/javascript" src="apelo/book.js"></script>

更新:

为了安全起见,当你在函数前添加服务的字符串时,你应该编写所有注入的服务:

代码语言:javascript
复制
var myApp = angular.module('myApps',['ngRoute']).

config(['$routeProvider', '$locationProvider',function($routeProvider,$locationProvider){
    $locationProvider.html5Mode(true);
    $routeProvider.when('/books/',
        { templateUrl:'/book/list'}

    )}]);
票数 0
EN

Stack Overflow用户

发布于 2016-04-11 03:09:23

$locationProvider.html5Mode(true);中,您需要在文档的<head>中设置一个<base>,它使用相对链接围绕应用程序进行链接。

代码语言:javascript
复制
<!doctype html>
<html>
<head>
    <meta charset="utf-8">

    <base href="/">
</head>

您还需要管理路由重定向的服务器配置。这是一个很棒的链接,我用它来解决我的问题。Deep Linking AngularJS

快乐的编码..

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36529663

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档