Angular(1)
来源:互联网 发布:网络游戏软件开发 编辑:程序博客网 时间:2024/06/11 15:29
1.为什么要学习Angular?
- 使我们做单页面应用更加容易
- Angular自身有很多颠覆性的特性 改变了前端的编码方式 简化了我们的操作
- 火,就业需要
2.Angular是什么?
- 一款非常优秀的前端高级JS框架
- 由谷歌团队负责开发维护
3.学习Angular需要的知识储备
- html
- css
- js
4.框架与库
<input type="text" id="inp">
document.getElementById('inp').value;$('#inp').val();<input type="text" ng-model="val">
- 无论是angular还是jQuery都是用原生JS封装的
- 库:
- 对代码进行封装 调用封装的方法 简化操作
- jquery 针对DOM操作
- requirejs js模块化
- 对代码进行封装 调用封装的方法 简化操作
- 框架:
- 虽然也是调用封装的方法
- 但是更多的框架会提供代码书写的规则
- 我们要按照规则去写代码 框架会帮我们实现相应的功能
5.Angular核心思想
- write less do more
- 其核心是通过指令扩展了HTML,通过表达式绑定数据到HTML。
- Angular不推崇DOM操作,也就是说在NG中几乎找不到任何的DOM操作
- 一切操作以数据为中心,用数据驱动DOM
6.获取angular的方式
- 在官网上下载
- 通过CDN的方式引入到页面中
<script src="https://cdn.bootcss.com/angular.js/1.6.4/angular.min.js"></script>
7.Angular快速入门 (hello world)
- 通过4个例子对比实现相同的效果用原生JS与angular开发的区别
- 手动实现Angular介绍中的一个例子加深对angular的理解
- 实现一个最基本的双向数据绑定的例子
- 通过例子介绍基本的指令及表达式
- 在使用了angular的页面,以ng-开头的属性,都可以称之为指令
- ng-app
- 告诉angular它在页面中所要控制的范围
- 页面加载完成angular会自动在页面中查找这个指令
- 如果页面中没有这个指令,angular将不会启动
- ng-model
- 实现双向数据绑定
- ng-click
- 点击事件(和原生JS中的onclick事件作用一样)
- ng-init
- 初始化数据
- 表达式介绍
- {{}} 这种双大括号的形式称之为插值表达式
- 在表达式中可以写ng中的变量
- 可以显示字符串
- 在表达式中可以进行计算
- 可以在表达式中写三目运算符
- 执行angular函数
- 画图分析Angular实现双向数据绑定的原理
8.Angular模块化开发
- 模块化开发带来的好处
- 方便管理, 复用,后期维护方便
- 解决代码冲突,方便多人协作开发
- 分析模块和控制器与页面之间的关系
- 定义模块的语法规则
- 定义模块时第二个参数加与不加的区别
- 加第二个参数是创建模块
- 不加第二个参数是获取模块
报错信息分析
- Module ‘myApp’ is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.
- ‘myApp’ 这个模块是不可获取的! 你要么拼写错误 要么忘了加在他 你要确保一个有效的模块 做为了第二个参数的依赖
模块依赖
- 主模块依赖了其他模块 就相当于拥有了其他模块的功能
9.Angular中如何使用控制器
- 定义及使用控制器
- 控制器的作用
- 向页面中赋初始值
- 向页面中展示数据
- 代码分类
10.单页面应用程序介绍 (simple page application)
- 回顾传统网站(http://www.kuoda.com.cn/indexs.html)(图)
- 单页应用网站(http://m.daqizhong.com/index.html#/)
- 解释单页面应用(图)
- 单页面应用实现原理(图)
单页面应用程序的特点
- 整个网站由一个页面构成
- 公共部分只加载一次
- 利用Ajax局部刷新达到页面切换的目的
- 不会发生页面跳转白屏的现象
- 锚点与页面对应
原生JS实现一个简单的单页面demo
- angular实现一个简单的单页面demo
11.Angular中的路由
- 通过画图分析在生活中路由起到什么样的作用
- Angular中的路由使用方法
- 官方说明文档
- 如何获取路由模块
- 通过CDN的方式引入到页面中
- 在html页面中通过script标签的方式引入路由模块文件
- 在应用主模块中依赖路由模块ngRoute
- 配置路由
- 通过config方法注入$routeProvider
- 介绍配置中常用的参数
- 路由和控制器的整合
- 使用templateUrl方式载入模板需要在http环境下(本地file协议下不支持)
Angular相关网站
- 官方网站
- 官方文档
- [学习网站]
- http://www.angularjs.net.cn
- http://www.apjs.net
- http://www.runoob.com/angularjs/angularjs-tutorial.html
阅读全文
0 0
- Angular(1)
- angular实战(1)
- Angular学习笔记(1)
- angular.js(1) ---- 应用(记忆)
- 约战Angular中Promise(1)
- angular 1.5.+ 语法理解(1)
- angular.js基础(1)--指令directive
- NodeJs+Angular+Mongodb Web开发(1)
- angular基本概念和用法(1)
- angular前后台通讯-笔记(1)
- Angular 4 学习系列(1)
- angular4实战(1) angular-cli
- angular的hero例子(1)
- angular(1)创建项目及运行
- [Angular] Angular项目文件概览(二)
- Angular 学习笔记 1
- angular.js[1]
- Angular 1 Style Guide
- 楼梯上楼问题
- Node.js安装express框架出现的问题级解决
- 数码管
- HDU 2602 Bone Collector(01背包)
- jquery 追加
- Angular(1)
- 漫画算法:什么是一致性哈希?
- 二分查找的几种方法对比,C++实现
- [pthread]读写锁
- NSRunLoop翻译
- Andorid绘制学习——贝塞尔曲线(二阶实战水波效果)
- 文件拷贝和流的套接
- linux内存文件系统
- 在macbook上安装最新版的gcc