AngularJS实现单页应用的原理——路由(Route)
AngularJS实现单页应用的原理——路由(Route)
路由:告诉你一个通往某个特定页面的途径

http://127.0.0.1/index.html#/start
http://127.0.0.1/index.html#/main
#/start <=> start.html
#/main <=> main.html
SPA应用中的页面切换的原理:
(1)使用JS解析当前的页面地址 location.hash( )
(2)查找字典,找到指定的路由地址对应的真正的页面名称
(3)发起异步AJAX请求,读取目标页面的内容,加载到当前页面指定位置
AngularJS中的路由模块——用于实现SPA应用中的“伪页面切换效果”
步骤:
(1)在index.html中引入angular.js 和 angular-route.js
(2)页面中声明一个容器带ngView指令: <div ng-view></div>
(3)创建模块声明模块依赖于ngRoute模块
angular.module('模块名', ['ngRoute', 'ng'])
(4)配置路由地址的映射信息:
.config( function( $routeProvider ){
$routeProvider.when( '/路由地址', { templateUrl: '伪页面地址' })
} )
(5)测试: 地址栏中输入 http://...../index.html#/路由地址


爱卡(深圳)管理有限公司
分享每一刻精彩
微信:iCafeYOJOY
微博:http://weibo.com/iCafeYOJOY
官网:www.icafe.im
AngularJS实现单页应用的原理——路由(Route)的更多相关文章
- 【再探backbone04】单页应用的基石-路由处理
前言 首先发一点牢骚,互联网公司变化就是快,我去一个团队往往就一年时间该团队就得解散,这不,公司居然把无线团队解散了,我只能说,我那个去!!! 我去年还到处让人来呢,一个兴兴向荣的团队说没就没了啊!我 ...
- nginx 一个端口布署多个单页应用(history路由模式)。
目前web开发 使用一般前后端分离技术,并且前端负责路由.为了美观,会采用前端会采用h5 history 模式的路由.但刷新页面时,前端真的会按照假路由去后端寻找文件.此时,后端必须返回index(i ...
- 单页应用SPA的路由
关于单页应用 单页Web应用(single page web application,SPA),就是只有一张Web页面的应用,是加载单个HTML 页面并在用户与应用程序交互时动态更新该页面的Web应用 ...
- 前端学习之路之SPA(单页应用)设计原理
SPA设计 1.设计意义 前后端分离 减轻服务器压力 增强用户体验 Prerender预渲染优化SEO 前后端分离:前端做业务逻辑,后端处理数据和接口,耦合度减少,开发效率提高. 减轻服务器压力:一个 ...
- [译]用AngularJS构建大型ASP.NET单页应用(一)
原文地址:http://www.codeproject.com/Articles/808213/Developing-a-Large-Scale-Application-with-a-Single 渣 ...
- Web API 2 入门——使用ASP.NET Web API和Angular.js构建单页应用程序(SPA)(谷歌翻译)
在这篇文章中 概观 演习 概要 由网络营 下载网络营训练包 在传统的Web应用程序中,客户机(浏览器)通过请求页面启动与服务器的通信.然后,服务器处理请求,并将页面的HTML发送给客户端.在与页面的后 ...
- spa(单页应用)中,使用history模式时,微信长按识别二维码在ios下失效的问题
spa(单页应用,vue)中,使用history模式时,微信长按识别二维码在ios下失效的问题. 触发条件: spa单页应用: 路由模式 history 从其他页面跳转到带有微信二维码识别的页面(不是 ...
- vue单页应用中 返回列表记住上次滚动位置、keep-alive缓存之后更新列表数据 那点事
实践场景需求 产品列表中,滚动到一定位置的时候,点击查看产品信息,后退之后,需要回到原先的滚动位置,这是常见的需求 所有页面均在router-view中,暂时使用了keep-alive来缓存所有页面, ...
- 使用Vue构建单页应用一
一. 环境准备 1 安装Node.js 最好安装node.js-6.X.X 以上版本,https://nodejs.org/en/ 我使用的是 v6.3.1 Current 版本.Node. ...
随机推荐
- redis 与 spring整合 hash 增删改操作 list增删改操作
本人,对于以前redis的学习是非常痛苦的!近期将以前的东西捡起来.以博客的形式存储,以便于以后快速捡起来,并和广大同胞一起分享! 1):简单介绍 redis 是基于C语言开发. redis是一个ke ...
- XML.04-dom4j和XPath
body,td { font-family: calibri; font-size: 10pt } XML.04-dom4j和XPath dom4j的基本使用 XPath 啥是XPath XPath语 ...
- 关于VS快捷键的使用总结
首先快捷键是为了快,不能为了用快捷键而用快捷键. 既然说到快,我个人认为要涉及到一个使用频率问题,如果一个功能的快捷键使用频率极高,那么就应该把它调到触手可及的位置, 如:经常看别人源代码,经常会使用 ...
- web开发漫谈
本文同步至微信公众号http://mp.weixin.qq.com/s?__biz=MzAxMzgwNDU3Mg==&mid=401950045&idx=1&sn=cec056 ...
- smbclient提示NT_STATUS_INSUFFICIENT_RESOURCES
Rhel6中使用smbclient命令打开windows共享文件夹,出现: Linux Samba protocol negotiation failed: NT_STATUS_INSUFFICIEN ...
- CSS解决高度自适应问题
HTML结构如下: <div id="main"> <div id="top">top</div> < ...
- js 滚动 学习
// s:= 'document.getElementsByName(''seccodeverify'')[0].scrollTop=100;'; // s:='scrollTo(0,document ...
- 实现浏览器打开图片的url默认是下载
在返回的response里面设置HTTP头的Content-Disposition=attachement;filename=xxxx,即可实现文件另存为"xxxx":Conten ...
- 关于js中的for(var in)遍历属性报错问题
之前遇到过这个问题,但是没找到问题的所在,将for(var i in array){} 改成了for(var i ;i<array.length;i++)循环,但是今天又遇到了,mark一下错 ...
- Android笔记之——线程
Java: package com.example.test_ui_thread01;import android.support.v7.app.AppCompatActivity;import an ...