AnjularJS-imooc学习笔记1
来源:互联网 发布:udp监听端口阻塞 编辑:程序博客网 时间:2024/06/05 15:07
第一部分 快速上手
1.版本1.3.0
2.四大核心特性
a.MVC
b.模块化,一切(标签、控制器等)都从模块开始
c.指令系统directive
d.双向数据绑定(展示与DOM)
3.环境搭建
a.轻量级服务器:nodeJS的http-server:将目录发布成网页,可以作为模拟数据源
b.调试:chrome+batarang或者findbug
c.代码合并和混淆:grunt
d.依赖管理工具:bower
e.单元测试:karma(浏览器环境)+jasmine(相当于JUnit)或者protractor(专为AnjularJS定制,测试语法也是使用的jasmine)
第二部分 基本概念和用法
一、MVC
1.MVC中的controller
a.ng-app相当于main函数,因此只能有一个。
b.ng-controller是控制器,通用功能通过service实现而不是继承公共的控制器。
c.controller使用注意:
-不复用,一个控制器只负责一个视图
-不操作DOM,DOM操作使用directive实现
-不做数据格式化,使用标签
-不做数据过滤,使用$filter
-不相互调用,应该通过事件触发调用
2.MVC中的model通过ng-model实现页面标签与后台变量的双向数据绑定,ng-bind用于后台到view的单项数据绑定。
3.MVC中的view通过directives实现。
4.Angular中的MVC是借助$scope实现的:
a.$scope是树形结构,与DOM标签平行
b.$scope对象会继承父scope的属性和方法。
c.$scope位于$rootScope下(ng-app定义根rootscope)
d.$scope可以传递事件(emit:向上,broadcast向下。均包含同级)
二、路由、模块、依赖注入
1.模块:一切都从模块开始
var modeluName = angular.module('name',[]);ioc的内容在[]中添加依赖。
2.路由:Angular提供路由机制ng-route
$rootProvider.when('/hello',{templateUrl:'tmpl/hello.html',controller:'HelloCtrl'}).otherwise...
3.一般项目模块切分:
a.controllers:控制器
b.directives:标签
c.service:服务
d.filter:过滤器
e.routeProvider:路由
4.依赖注入:定义模块时[]引入。
5.双线数据绑定:
a.双向:视图和model
b.ng-model是双向数据绑定,ng-bind是model->view的数据绑定,{{}}用于数据显示,要求angular.js必须加载完毕,不然会显示出来{{}}中的内容,因此一般首页使用ng-bind(angular.js一般首页index加载)
c.ng-class可以接受表达式,比原有class增强
d.ng-show、ng-hide用于显示、隐藏数据,两者功能类似
e.ng-view用于显示引用页面
f.ng-animate用于控制动画
g.ng-route用于路由,但是不利于多级控制,一般使用开元的UI-ROUTE代替。
h.#锚点,用于页面内导航,是前端路由的一般方法。
PS:bootstrap是css框架,控件能力较弱,一般不用,主要使用其css定义。
1.版本1.3.0
2.四大核心特性
a.MVC
b.模块化,一切(标签、控制器等)都从模块开始
c.指令系统directive
d.双向数据绑定(展示与DOM)
3.环境搭建
a.轻量级服务器:nodeJS的http-server:将目录发布成网页,可以作为模拟数据源
b.调试:chrome+batarang或者findbug
c.代码合并和混淆:grunt
d.依赖管理工具:bower
e.单元测试:karma(浏览器环境)+jasmine(相当于JUnit)或者protractor(专为AnjularJS定制,测试语法也是使用的jasmine)
第二部分 基本概念和用法
一、MVC
1.MVC中的controller
a.ng-app相当于main函数,因此只能有一个。
b.ng-controller是控制器,通用功能通过service实现而不是继承公共的控制器。
c.controller使用注意:
-不复用,一个控制器只负责一个视图
-不操作DOM,DOM操作使用directive实现
-不做数据格式化,使用标签
-不做数据过滤,使用$filter
-不相互调用,应该通过事件触发调用
2.MVC中的model通过ng-model实现页面标签与后台变量的双向数据绑定,ng-bind用于后台到view的单项数据绑定。
3.MVC中的view通过directives实现。
4.Angular中的MVC是借助$scope实现的:
a.$scope是树形结构,与DOM标签平行
b.$scope对象会继承父scope的属性和方法。
c.$scope位于$rootScope下(ng-app定义根rootscope)
d.$scope可以传递事件(emit:向上,broadcast向下。均包含同级)
二、路由、模块、依赖注入
1.模块:一切都从模块开始
var modeluName = angular.module('name',[]);ioc的内容在[]中添加依赖。
2.路由:Angular提供路由机制ng-route
$rootProvider.when('/hello',{templateUrl:'tmpl/hello.html',controller:'HelloCtrl'}).otherwise...
3.一般项目模块切分:
a.controllers:控制器
b.directives:标签
c.service:服务
d.filter:过滤器
e.routeProvider:路由
4.依赖注入:定义模块时[]引入。
5.双线数据绑定:
a.双向:视图和model
b.ng-model是双向数据绑定,ng-bind是model->view的数据绑定,{{}}用于数据显示,要求angular.js必须加载完毕,不然会显示出来{{}}中的内容,因此一般首页使用ng-bind(angular.js一般首页index加载)
c.ng-class可以接受表达式,比原有class增强
d.ng-show、ng-hide用于显示、隐藏数据,两者功能类似
e.ng-view用于显示引用页面
f.ng-animate用于控制动画
g.ng-route用于路由,但是不利于多级控制,一般使用开元的UI-ROUTE代替。
h.#锚点,用于页面内导航,是前端路由的一般方法。
PS:bootstrap是css框架,控件能力较弱,一般不用,主要使用其css定义。
阅读全文
0 0
- AnjularJS-imooc学习笔记1
- anjularjs 学习1
- imooc学习笔记--五子棋
- JavaScript学习笔记(imooc)
- AnjularJS 学习笔记(数据的读取)
- AnjularJS 学习笔记(数据的绑定)
- AnjularJS 学习笔记(数据的绑定)
- JSP笔记From imooc(1)
- (2)PHP 学习笔记 from imooc
- 【nodejs】imooc上的学习笔记
- imooc学习笔记--屏幕适配
- imooc学习
- php初学(1)--imooc笔记
- imooc-1
- (3)PHP 学习笔记进阶篇 from imooc
- 慕课网(imooc)Selenium自动化学习笔记01:封装
- 初识机器学习——概念介绍(imooc笔记)
- imooc Spring笔记
- 第三周项目2-建设“顺序表”算法库
- CodeWars:Most digits
- HDPCD-Java-复习笔记(5)
- WiFi热点数据传输DEMO
- 常见空指针异常及其避免
- AnjularJS-imooc学习笔记1
- C# WEBREQUEST简单调用WEBSERVICE方法
- Spring Boot 形参Map并没有添加到类似于ModelAndView中,但是却可以页面取到相应的值?
- Gym 101243.E
- 【kmp算法】数据结构实验之串三:KMP应用
- Activiti工作流引擎使用
- 明略数据笔试题
- C语言实验——交换两个整数的值(顺序结构)
- About Me