angularJS核心原理
一、angularJS优点和缺点
优点
1.1免去重复劳动-获取元素、给元素加事件、创建元素
1.2接管UI:angularJS根据数据创建UI元素,免去手工创建UI元素。
1.3自动同步:根据数据个数创建对应的html元素。
缺点
二、angularJS一切皆数据
三、angularJS三要素
4.1 ng-model:数据从哪里来
4.2 ng-bind:数据到哪里去
4.3 ng-app:那块归AngularJS管
四、angularJS是MVC框架
M-Model ->ng-model
V-View ->{{}}
C-Controller ->1.业务逻辑 2.angularJS与原生JS桥梁 3.$scope
五、Controller
var mod = angular.module('main_mod',[]); //<html ng-app="main-mod"></html>
//往模块里面添加东西
mod.controller('contr1',function($scope,$http){ //<body ng-controller="contr1"></body>
//controller代码
//$scope-所有angular的数据都在$scope上
$scope.a=0;
$scope.b=0;
/*增加parseInt函数*/
$scope.parseInt=function(n){
return parseInt(n);
}
/*增加alert函数*/
$scope.alert=function(str){
window.alert(str);
}
/**
*读取数据
*$http.get()返回Promise对象
*/
$http.get('user.txt').success(function(arr){
alert(arr);
}).error(function(){
alert('错误');
});
});
六、双向绑定
双向-可进可出
输入框-既可以输入,也可以输出
*所有的数据是双向的-数据<->UI
七、依赖注入
把依赖项注入进去
函数:函数的参数由定义决定?还是由调用决定?
js原生函数的参数由调用决定,angularJS将这种情况反转了,angular函数要什么参数就有什么参数。
总结:
1、angularJS和原生JS不互通,从而避免全局污染。
2、angularJS所有的东西都在$scope里,需要的数据都在$scope上找。
3、angularJS一切皆数据
angularJS核心原理的更多相关文章
- SPA 路由三部曲之核心原理
为了配合单页面 Web 应用快速发展的节奏,近几年,各类前端组件化技术栈层出不穷.通过不断的版本迭代 React.Vue 脱颖而出,成为当下最受欢迎的两大技术栈. 仅 7 个月的时间,两个技术栈的下载 ...
- 【算法】(查找你附近的人) GeoHash核心原理解析及代码实现
本文地址 原文地址 分享提纲: 0. 引子 1. 感性认识GeoHash 2. GeoHash算法的步骤 3. GeoHash Base32编码长度与精度 4. GeoHash算法 5. 使用注意点( ...
- docker核心原理
容器概念. docker是一种容器,应用沙箱机制实现虚拟化.能在一台宿主机里面独立多个虚拟环境,互不影响.在这个容器里面可以运行着我饿们的业务,输入输出.可以和宿主机交互. 使用方法. 拉取镜像 do ...
- HDFS 核心原理
HDFS 核心原理 2016-01-11 杜亦舒 HDFS(Hadoop Distribute File System)是一个分布式文件系统文件系统是操作系统提供的磁盘空间管理服务,只需要我们指定把文 ...
- 剖析SSH核心原理(一)
在我前面的文章中,也试图总结过SSH,见 http://blog.csdn.net/shan9liang/article/details/8803989 ,随着知识的积累,总感觉以前说得比较笼统, ...
- 关于Ajax的技术组成与核心原理
1.Ajax 特点: 局部刷新.提高用户的体验度,数据从服务器商加载 2.AJax的技术组成 不是新技术,而是之前技术的整合 Ajax: Asynchronous Javascript And Xml ...
- Libevent核心原理
Libevent 是一个事件驱动框架, 不能仅说他是一个网络库. notejs就是采用与libevent类似的libev来做核心驱动的. Libevent支持三种事件:io事件.信号事件.时间事件 ...
- 高性能消息队列 CKafka 核心原理介绍(上)
欢迎大家前往腾讯云技术社区,获取更多腾讯海量技术实践干货哦~ 作者:闫燕飞 1.背景 Ckafka是基础架构部开发的高性能.高可用消息中间件,其主要用于消息传输.网站活动追踪.运营监控.日志聚合.流式 ...
- Python面向对象篇之元类,附Django Model核心原理
关于元类,我写过一篇,如果你只是了解元类,看下面这一篇就足够了. Python面向对象之类的方法和属性 本篇是深度解剖,如果你觉得元类用不到,呵呵,那是因为你不了解Django. 在Python中有一 ...
随机推荐
- yeoman-angular-gulp
1.安装 yeoman npm install -g yo gulp bower 2.安装genarate-angular //npm install generator-angular npm in ...
- MySQL 联合索引测试2
接上一篇文章: http://www.cnblogs.com/xiaoit/p/4430300.html 1:首先删掉上一篇建立的索引,重新建立一个. mysql> DROP INDEX idx ...
- Linux高级权限管理
传统的UGO(rwx-wx-wx)权限模型,无法解决当多个组需要对一个文件执行某些权限的问题. ACL :访问控制列表access control list一种高级的权限机制,允许我们对文件或者文件夹 ...
- eclipse git提交代码
1.安装git 2.安装好后,进行,一个简单配置,填入我们的用户名和邮箱 >>Preferences>Team>Git>Configuration 设置自定义仓库 3.登 ...
- 封装document.getElementById(id)
CreateTime--2016年12月18日11:42:45Author:Marydon封装document.getElementById(Id)方法 <script type=" ...
- python之函数用法iter()
# -*- coding: utf-8 -*- #python 27 #xiaodeng #python之函数用法iter() #iter() #说明:对一个对象调用 iter() 就可以得到它的迭代 ...
- yum插件yum-fastestmirror
yum多个mirror自动选择速度最快的mirror,yum-fastestmirror插件,它会自动选择最快的mirror 配置文件: /etc/yum/pluginconf.d/fastestmi ...
- 【QRcode二维码】:使用JS前端插件QRcode.js生成二维码
1.先简单说一下jquery-qrcode,这个开源的三方库(可以从https://github.com/jeromeetienne/jquery-qrcode 获取), qrcode.js 是实现二 ...
- 更改虚拟内存(使用于win7、win8系统)
在使用电脑的过程中你肯定有这样的抱怨吧!电脑为什么越来越慢?C盘为什么越来越小?我们都非常清楚:C盘剩余空间量的大小,很大程度上决定着我们在使用电脑的过程中程序运行的速度.随着电脑软件越装越多,尽管我 ...
- HDUOJ----专题训练
Problem B Time Limit : 2000/1000ms (Java/Other) Memory Limit : 131072/65536K (Java/Other) Total Su ...