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中有一 ...
随机推荐
- 解决Sublime包管理package control 报错 There are no packages available for installation
解决Sublime包管理package control 报错 There are no packages available for installation 真的是哔了狗了,要不是我机智的重新安装了 ...
- [Javascript] Understand Curry
The act of currying can be described as taking a multivariate function and turning it into a series ...
- 在项目代码中载入cocostudio导出的动画并循环播放
须要在代码中引入#include "cocostudio/CocoStudio.h" using namespace cocostudio; ArmatureDataManager ...
- Http具体解释
一.Http是位于网络层的超文本传输协议. 我们用浏览器浏览网页就是用的http协议实现的. 二.Http请求详细分析 我们能够用httpwatch工具对http进行抓包分析 下面就是请求www.si ...
- 【Tip】如何在chrome浏览器中查看网页的Header
步骤:打开“开发者工具”,点Network标签,然后刷新网页,选择Name中的第一项,再点右边的Headers,就出来了. 似乎有点复杂,配合下面的图看就一目了然了.
- UITableViewCell 取消选中的蓝色背景
方案一: [self.tableView setAllowsSelection:NO]; 方案二: [cell setSelectionStyle:UITableViewCellSelectionSt ...
- DOM与JavaScript、jQuery之间的关系
DOM(document object model) 其实是浏览器内元素对象的一个总称 我们用JavaScript对网页进行的所有操作都是通过DOM进行的.DOM属于浏览器,而不是JavaScript ...
- 翻转子串(string+KMP+程序猿面试金典)
翻转子串 參与人数:1197时间限制:3秒空间限制:32768K 通过比例:35.03% 最佳记录:0 ms|8552K(来自 ) 题目描写叙述 假定我们都知道很高效的算法来检查一个单词是否为其它字符 ...
- Table '' is marked as crashed and should be repaired 解决方法
解决方法: 找到mysql的安装目录的bin/myisamchk工具,在命令行中输入: myisamchk -c -r ../data/mysql/user.MYI 然后myisamchk 工具会帮助 ...
- linux - 文件夹、文件默认属性: umask使用
一 权限掩码umask umask是chmod配套的.总共为4位(gid/uid,属主.组权,其他用户的权限),只是通经常使用到的是后3个.比如你用chmod 755 file(此时这文件的权限是属主 ...