AngularJS如何通过ng-route实现基本路由功能的教程

本文实例讲述了AngularJS通过ng-route实现基本的路由功能。分享给大家供大家参考,具体如下:

为什么需要前端路由~

(1)AJAX不会留下History历史记录

(2)用户无法通过URL进入应用指定的页面(书签或者分享等)

(3)AJAX对于SEO是一个灾难

1.一般情况下,我们访问网页的时候,是通过url地址。
比如我们访问一个网页:https://www.baidu.com/index/fix.html

在AngularJS中通过“#”来进行不同页面的路由,比如:
https://www.baidu.com/#/first,这个请求在向网页端传输的时候,服务器会自动忽略#之后的内容,因此可以根据#+标记帮助我们区分不同的逻辑页面并将不同的页面绑定到对应的控制器上。

这是一个简单的路由控制界面,根据链接中的#/first和#/second分别对应跳转到不同的页面。

2.通过angularjs中的路由模块,实现ng-route的步骤

(1)载入包含ng-route的JS文件

(2)包含了 ngRoute 模块作为主应用模块的依赖模块。

(3)使用原生指令ng-view

(4)我们在html中定义链接,可以实现一个单页应用,比如链接可以这样定义:

<body>

<ul>

<li><ahref="#/">首页</a></li>

<li><ahref="#/first">第一页面</a></li>

<li><ahref="#/second">第二页面</a></li>

<li><ahref="#/third">第三页面</a></li>

</ul>

<divng-view></div>

</body>

在js中的定义路由代码为:

angular.module('myapp',['ngRoute'])

.config(['$routeProvider',function($routeProvider){

$routeProvider.when('/',{template:'这是首页页面'})

.when('/first',{template:'这是第一个页面'})

.when('/second',{template:'这是第二个页面'})

.when('/third',{template:'这是第三个页面'})

.otherwise({redirectTo:'/'});

}]);

(6)我们来看效果,首次当未有链接切换时候,默认的跳转到首页,效果如下:

当依次点击链接时,会依次切换ng-view中的值,并且实现了ng-view内内容的替换~

I)初始效果

II)切换后的效果

我们发现改变的仅仅是#后的值,并没有页面的跳转和刷新

3.angularJS中的路由设置对象

AngularJS 路由也可以通过不同的模板来实现。

$routeProvider.when 函数的第一个参数是 URL 或者 URL 正则规则,第二个参数为路由配置对象。

路由配置对象语法规则如下:

$routeProvider.when(url, {

template: string,

templateUrl: string,

controller: string,function或 array,

controllerAs: string,

redirectTo: string,function,

resolve: object<key,function>

});

参数解释:

(1)template:

使用该概述,可以在template中写入HTML内容,典型的例子是:

when('/',{template:'这是首页页面'})

(2)templateUrl:
如果现在我们并不是要HTML内容,而是需要一个模板文件来进行整体替换,例子如下:

$routeProvider.when('/computers', {

templateUrl:'views/computers.html',

});

(3)controller:function、string或数组类型,在当前模板上执行的controller函数,生成新的scope。
也可以对应的是控制器的名称。

(4)redirectTo:重定向的地址

(5)resolve:当前控制器所依赖的其他模块~

时间: 2024-07-31 16:07:04

AngularJS如何通过ng-route实现基本路由功能的教程的相关文章

Zend Framework教程之路由功能Zend_Controller_Router详解_php实例

本文实例讲述了Zend Framework教程之路由功能Zend_Controller_Router用法.分享给大家供大家参考,具体如下: Zend Framework的路由提供了两个主要功能路由和创建路由. Zend_Controller_Router的Route类和相应Route目录下的类定义常见的路由操作. 接口Zend_Controller_Router_Interface,类Zend_Controller_Router_Abstract和Zend_Controller_Router_R

AngularJS通过ng-route实现基本的路由功能实例详解_AngularJS

本文实例讲述了AngularJS通过ng-route实现基本的路由功能.分享给大家供大家参考,具体如下: 为什么需要前端路由~ (1)AJAX不会留下History历史记录 (2)用户无法通过URL进入应用指定的页面(书签或者分享等) (3)AJAX对于SEO是一个灾难 1.一般情况下,我们访问网页的时候,是通过url地址.比如我们访问一个网页:https://www.baidu.com/index/fix.html 在AngularJS中通过"#"来进行不同页面的路由,比如: htt

在Linux下实现路由功能的原理及实验

一:原理:软路由是指利用台式机或服务器配合软件形成路由解决方案,主要靠软件的设置,达成路由器的功能.软路由通常使用普通计算机充当,使用通用的操作系统,如linux或windows,因此路由设置事实上是windows或  linux的设置,或者是对计算机的配置,现在以Linux主机为例实现路由功能. 二:案例:拓扑方案如图所示. 在Linux主机上有双网卡eth0和eth1,eth1对应外网接口,eth0对应内网接口,在Linux主机上通过配置路由功能实现到达192.168.1.0/24和192.

华为路由器怎么设置HG8342R的路由功能?

  华为路由器怎么设置HG8342R的路由功能?最近家里的网络由4MADSL升级为10M光纤,联通公司赠送了一部型号为HG8342R的光猫.该光猫配备4个LAN口,2个电话接口,具备路由功能.默认状况下,只能有一台设备连接到该光猫进行拨号上网,很不方便.为了使四个LAN口能够同时上网,我进行了一些探索,成功开启了光猫的路由功能,以下是具体操作. 1.用网线连接电脑与光猫的任一LAN口,指定电脑的IP.掩码及网关,参数如下: IP:192.168.1.3 MASK:255.255.255.0(Wi

使用ADSL Modem实现路由功能

小型企业办公网络采用ADSL共享上网经济实惠.通常的做法是使用集线器配合代理服务器软件,利用一台电脑作为代理服务器,其他电脑通过这台代理共享ADSL上网.不过这种共享上网的方式,随着时间的推移出现了不少弊病,最明显的就是如果代理服务器不开机,其他电脑都无法连接Internet.那么能否绕过代理服务器,直接通过共享的ADSL Modem实现对Internet的访问呢? 有,只要使用具有路由功能的ADSL Modem!如果大家所安装的ADSL所处的通信部门有服务器端支持,就用具有路由功能的ADSL

ADSL Modem路由功能的配置

近阶段,宽带上网业务日趋普及,其中,ADSL接入方式不需改造外部设施,可直接通过电话线上网.由于用户能够直接进入公网,其安全性明显强于小区局域网.对于单机用户来说,ADSL接入方式的安装配置都比较简单,大多使用PPPOE虚拟拨号方式,通过抓取随机的IP地址上网.对于家中有多台电脑需共享上网的用户来说,一般可通过建立和配置代理服务器来实现共享上网,缺点是主机必须开着才能实现共享:另外一种有效的方法是使用路由器来实现共享,这样每个客户端都能独立上网,不足之处是要添置昂贵的路由设备. 那么,有没有更好

Bing Maps进阶系列四:路由功能服务(RouteService)

Bing Maps提供的路由功能服务(RouteService)可以实现多方位的计算地图上的路线指示,路径行程等功能,比如说实现驾驶路线和地点,旅游航线等.可以通过该服务的地址(http://dev.virtualearth.net/WebServices/v1/RouteService/RouteService.svc)添加该服务的Web服务引用. 路由功能服务提供了两个方法,分别是CalculateRoute()和CalculateRoutesFormMajorRoads(),其实现的功能分

华为HG8240光纤猫如何开启路由功能的

  关于HG8240光纤猫很多人说不可以开路由,或者不成功.其实是可以开启路由的,因为他是三层的.至少我目前也在用,也帮客户开启成功了可以同时上4台机. 开启也很简单没什么技术含量, 1. IP要设置在192.168.100.2--254 登录猫的IP 129.168.100.1 超级用户名 telecomadmin 密码admintelecom 语言选china 2.先左边找到树目录LAN ,进去看到LAN1-4框框把他全部勾上后点应用. 3. 再找到WAN树目录进去,如果原来里面建有的都删除

怎样打开windows的路由功能

样打开windows的路由功能,步骤很简单,需要的朋友可以看看   打开windows的路由功能 1.windows NT: 打开注册表:regedit.exe 打到:HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters 增加: Value Name: IpEnableRouter Data Type: REG_DWORD Value: 1 重启机器. 2.windows xp.Vista.windows7: 打开注册表