AngularJs学习笔记7——四大特性之模块化设计
模块化设计
1.引用自定义模块并调用
自定义模块中,如果有一些服务、封装好笑模块,在另外一个模块中(声明的时候,在依赖列表中加入要引入的模块)
var app02 = angular.module('fan02',['ng','fan']);
就调用fan02模块中所定义的东西
2.ng内置的模块的用法
(1) ngRoute模块(路由模块)
AngularJS是一个开源的js框架。用在数据操作比较频繁的场景下,用于SPA应用
单页面应用的工作原理:
1.页面url:http://127.0.0.1/index.html#/路由地址
2.浏览器首先解析基础页面index.html,再解析路由地址
3.查找路由词典,#/startàstart.html#/mainàmain.html
4.得到当前url中路由地址所对应的真实模板页面地址
5.发起ajax请求,获取目标模板页面,插入到当前的DOM树
使用ngRoute来实现SPA的步骤
1.创建一个完整的HTML页面,引入angular.js、angular-route.js
2.创建自定义模块,在依赖列表中依赖ng,ngRoute

3.在index.html的body中声明一个容器(盛放代码片段)
实现方式:使用ngView指令声明一个容器
4.创建代码片段
5.配置路由词典
$routeProvider.when(‘/start’,{templateUrl:‘start.html’});
6.测试

使用SPA,怎么实现页面间的跳转
1.修改地址栏中的路由地址

2.超链接

3.js
$location.path(‘路由地址’);
调用控制器的时候,有两种方式:
1.直接使用ng-controller=’’
2.在路由词典中,在对应路由地址的对象中添加controller属性:controller:’’;
如果多个控制器需要用到相同的变量或者方法,可以将它放在父元素所对应的控制器中;子元素是可以调用父元素中定义好的方法或者变量。(parentCtrl)
SPA,如何实现带参数的模板页面间的跳转
1.分清发送方和接收方
发送方:’/start/200’
接收方:
2.配置接收方路由
.when('/myPay/:price',{templateUrl:'tpl/pay.html'})
3.发送
<a href='#/myPay/200'></a>
4.接收到参数
$routeParams.price
AngularJs学习笔记7——四大特性之模块化设计的更多相关文章
- AngularJs学习笔记2——四大特性之MVC
angularJs的四大特性 ①.采用MVC的设计模式 ②.双向数据绑定 ③.依赖注入 ④.模块化设计 现在细说一下MVC的设计模式: MVC: Model(模型)--项目中的数据 View(视图)- ...
- AngularJs学习笔记6——四大特性之依赖注入
压缩工具:YUI-compressor 为了优化网页功能,对一些脚本文件进行压缩,比如:删除所有的注释和空格等,简化形参.但是AngularJs模块中可以声明多种组件,如控制器.指令.过滤器.服务等. ...
- AngularJs学习笔记4——四大特性之双向数据绑定
双向数据绑定 方向1:模型数据(model)绑定到视图(view) 实现方法:①.{{model变量名}} ②.常用指令(ng-repeat) 方向2:将视图(view)中用户输入的数据绑定到模型数 ...
- AngularJs学习笔记--Forms
原版地址:http://code.angularjs.org/1.0.2/docs/guide/forms 控件(input.select.textarea)是用户输入数据的一种方式.Form(表单) ...
- AngularJs学习笔记--concepts(概念)
原版地址:http://code.angularjs.org/1.0.2/docs/guide/concepts 继续.. 一.总括 本文主要是angular组件(components)的概览,并说明 ...
- AngularJS学习笔记2——AngularJS的初始化
本文主要介绍AngularJS的自动初始化以及在必要的适合如何手动初始化. Angular <script> Tag 下面通过一小段代码来介绍推荐的自动初始化过程: <!doctyp ...
- AngularJs学习笔记--Using $location
原版地址:http://code.angularjs.org/1.0.2/docs/guide/dev_guide.services.$location 一.What does it do? $loc ...
- AngularJs学习笔记--Injecting Services Into Controllers
原版地址:http://docs.angularjs.org/guide/dev_guide.services.injecting_controllers 把service当作被依赖的资源加载到con ...
- AngularJs学习笔记--I18n/L10n
原版地址:http://code.angularjs.org/1.0.2/docs/guide/i18n 一.I18n and L10n in AngularJS 1. 什么是I18n和L10n? 国 ...
随机推荐
- 操作sql - 类型初始值设定项引发异常
这个异常我还是第一次看见,网上有人说,若出现异常,则访问所有的静态成员,均会抛出异常. 在我碰到的问题中,如下代码: ; static private System.Data.DataTable Re ...
- Carthage&&cocopads 摘抄笔记
Carthage 是 iOS/Mac 开发生态圈的一个包管理工具,与现在流行的 CocoaPods 不同,它是一个去中心化的解决方案.知道它已经有一段时间了,但是一直没有好好玩过,今天整合 Carth ...
- iOS 网络与多线程--8.百度地图的使用(调用系统浏览器)
通过调用设备自带的浏览器,打开百度地图 // 1.定义一个方法,用来打开谷歌地图的功能 -(IBAction)openMaps { // 2.定义一个字符串,作为百度地图的当前地理位置 废弃 NSSt ...
- POP动画引擎中Layer与CALayer的一点区别
POP动画引擎是facebook提供的一个开源框架, 可以实现很多的动画效果, 这里就不一一介绍啦, 有兴趣的童鞋请移步: https://github.com/facebook/pop 下面简单的讲 ...
- python的exec、eval详解
exec exec语句用来执行储存在字符串或文件中的Python语句.例如,我们可以在运行时生成一个包含Python代码的字符串,然后使用exec语句执行这些语句.下面是一个简单的例子. exec ' ...
- XML DOM 总结一
对这个基本概念我不介绍太多,无非就是一定格式的文本而已,我现在侧重于如何使用它. 首先看看.NET对它的支持. 首先看看这个类图: 所有的都是基于Xm ...
- Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结【转载】
详细解读Jquery各Ajax函数:$.get(),$.post(),$.ajax(),$.getJSON() 一,$.get(url,[data],[callback]) 说明:url为请求地址,d ...
- JS之对象数组遍历?
一.js实现遍历对象 <script> ","destroy":"97%"}; var props = ""; for ...
- DPC定时器
KeInitializeTimer 初始化定时器 KeInitializeTimerEx 初始化定时器 KeSetTimer 开启定时器(只执行一次) KeSetTimerEx 开启定时器(可以设置循 ...
- css中响应式布局中样式的代码书写方法
代码示例:@media only screen and (min-width: 320px){ html { font-size: 8px !important; } .mulu-zi{ positi ...