Angular JS知识小总结
1.什么是Angular JS?
AngularJS 是一个为动态WEB应用设计的 JavaScript结构框架.
2.Angular JS的用处?
--它是为了克服HTML在构建应用上的不足而设计;
--适用于CRUD应用,是为了消除页面上的DOM操作而生.它的核心理念是借鉴了MVC框架,但是它其实更接近于MVVM.viemmodel是一个原生的javascript对象,angularJS把view和model加到viemmodel上,从而实现数据的绑定.而且这种绑定是双向的,即view变化,对应的model也会变化,同样model发生变化也会引起相应的view的变化.
--主要用来开发单页面应用,它支持浏览器历史操作,向前向后按钮,单页应用中的收藏操作。
--并不是所有的应用都适合用AngularJS来做,如游戏开发之类对DOM进行大量操纵、又或者单纯需要 极高运行速度的应用。
3.Angular JS的特性
--双向数据绑定: 这是AngularJS模块的核心功能——**绑定**,ng-model和{{}}实现的是双向绑定,如果controller和ng-model都存在于一个输入框或元素上的话,页面加载完后,对应元素里会显示controller里设置的默认值,一旦在view人工修改,ng-model就会发生作用.controller控制器,可以实现单向绑定.
--模块化:在AngularJS中,一个模板就是一个HTML文件。AuguarJS并不把模板当做String来操作。输入AngularJS的是DOM而非string。数据绑定是DOM变化,不是字符串的连接或者innerHTML变化。使用DOM作为输入,而不是字符串,是AngularJS区别于其它的框架的最大原因。
--服务和依赖注入:AngularJS拥有内建的依赖注入(DI)子系统,DI允许你请求你的依赖,而不是自己找寻它们,即"被动接受",也就是说如果你需要一个对象或者变量,只要angularJS中自有的,只要声明它,就可以使用.
--指令:Angular JS有很多自有的ng-directives,可以帮助我们操作DOM,另外,我们还可以自定义指令,用angular模块的directive方法.
4.几个重要的物件
-- ng-app:一般家在最外层的根元素上,定义了angularJS脚本的作用域;
-- ng-model:把view上的标签或属性绑定到viemmodel中;
-- {{}}:angularJS的表达式,作用就是把viewmodel中的model显示到view中.
--$scope:这个是angularJS的核心对象,即viewmodel对象,这个对象不能更改,依赖注入方式获得.
5.编写angularJS的基本流程:
页面
-- 首先用<script>标签,导入angular.min.js文件;
-- 一般在根元素<html>里定义angularJS脚本的作用域`<html ng-app="myAPp">`;
-- 定义控制器的作用域,在标签里`ng-controller="myController"`;
-- 数据要绑定到viemmodel的话,在对应的标签上用ng-model指令;或者要显示用{{}}.
js
-- 加载需要的模块`var myApp = angular.module("myApp",[])`;第二个参数,是该模块所依赖的模块,没有的话,可不填写
-- myApp.controller("MyController",function($scope){...};控制器方法调用,回调函数的一个参数务必是$scope,这样才能获取到$scope,从而操纵数据.
Angular JS知识小总结的更多相关文章
- 【Todo】React & Nodejs学习 &事件驱动,非阻塞IO & JS知识栈:Node为主,JQuery为辅,Bootstrap & React为辅辅,其他如Angular了解用途即可
JS知识栈:Node为主,JQuery为辅,Bootstrap & React为辅辅,其他如Angular了解用途即可 今天在学习ReactJS和NodeJS,看到关于ReactJS的这篇文章 ...
- Asp.Net Mvc+Angular.Js自测小Demo
参考:http://www.cnblogs.com/eedc/p/6082052.html 一.引用anguler: 1.angular.js 2.angular-route.js 3.app.js ...
- angular js jquery中post请求的一点小区别
这也是最近遇到的坑,还是之前那个项目,现在要实现登录功能. 背景:注册功能之前已经跑通了.前端用的是jquery后台是springMVC.鉴于注册和登录有些接口功能是类似的(比如注册确保邮箱是没有注册 ...
- Angular.js路由 简单小案例
代码案例: <html> <head> <meta charset="utf-8"> <title>AngularJS 路由实例&l ...
- Angular.js 的初步认识
MVC模式 模型(model)-视图(view)-控制器(controller) Angular.js采用了MVC设计模式的开源js框架 1.如何在angular.js建立自己的模块(model),控 ...
- Angular JS中$timeout的用法及其与window.setTimeout的区别
$timeout的用法 angular.js的$timeout指令对window.setTimeout做了一个封装,它的返回值是一个promise对象.当定义的时间到了以后,这个promise对象就会 ...
- angular.js 例子
angular.js是一个前端的MVC框架,12年的时候曾近在一个portal平台的项目中使用过. 下面给出一个angular.js的典型例子,涵盖一些基础的知识点,用以复习备忘: <html ...
- angular.js初探
2015年7月27日 22:26:35 星期一 用在我论坛里的小栗子: 先列出来一级回帖, 点击帖子前边的"查看回复"按钮无刷新的去请求该帖子的所有回复 首先要引用js文件, 我这 ...
- 精通 Angular JS 第一天——Angular 之禅
简介 Angular JS是采用JavaScript语言编写的客户端MVC框架,它为业界带了重大的变化,包括对模板化的创新实现,以及数据的双向绑定,这些特性使得它强大而易用.它可以用来帮助开发者编写单 ...
随机推荐
- UVA225 Golygons 黄金图形(dfs+回溯)
剪枝1:在同一个维度上的点具有相同的奇偶性,如果奇数数量只有奇数个那么一定不能返回原点. 剪枝2:当前位置怎么也走不回去. 3:沿途判断障碍即可. 在oj上提交0.347s,最快的0.012s,应该有 ...
- Android(java)学习笔记113:Activity的生命周期
1.首先来一张生命周期的总图: onCreate():创建Acitivity界面 onStart():让上面创建的界面可见 onResume():让上面创建的界面 ...
- oracle 快速复制一张表,并在此创建索引,日志及并行度
复制表结构及其数据 create table table_name_new as select * from table_name_old 只复制表结构 create table table_name ...
- UITableView上添加按钮,按钮点击效果延迟的解决办法
在自定义的TableView的初始化方法做如下操作 - (instancetype)initWithFrame:(CGRect)frame { self = [super initWithFrame: ...
- 酷炫的3D照片墙
今天给大家分享的案例是酷炫的3D照片墙 这个案例主要是通过 CSS3 和原生的 JS 来实现的,接下来我给大家分享一下这个效果实现的过程.博客上不知道怎么放本地视频,所以只能放两张效果截图了. 1.实 ...
- Pig Latin-freecodecamp算法题目
Pig Latin 1.要求 Pig Latin把一个英文单词的第一个辅音或辅音丛(consonant cluster)移到词尾,然后加上后缀 "ay". 如果单词以元音开始,你只 ...
- Python爬虫系列-BeautifulSoup详解
安装 pip3 install beautifulsoup4 解析库 解析器 使用方法 优势 劣势 Python标准库 BeautifulSoup(markup,'html,parser') Pyth ...
- 设置mysql允许外部连接访问
错误信息: SQL Error (1130): Host ‘192.168.1.88’ is not allowed to connect to this MySQL server 说明所连接的用户帐 ...
- Choose unique values for the 'webAppRootKey' context-param in your web.xml files! 错误的解决
大意是Log4jConfigListener在获取webapp.root值时,被后一context的值替换掉了,所以要在各个项目的web.xml中配置不同的webAppRootKey值,随即在其中一个 ...
- React 基础知识总结
data-id="1190000016885142" data-license=""> 一.Node.js Node.js并不是一个JavaScript框 ...