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中有一 ...
随机推荐
- CSS半透明兼容写法
filter: Alpha(opacity=10); -moz-opacity:0.1; opacity:0.1; 例如: background:#A5CD40; filter: Alpha(opac ...
- Codeforces#86D Powerful array(分块暴力)
Description An array of positive integers a1, a2, ..., an is given. Let us consider its arbitrary su ...
- MVC应用积累
1.Controller中的跳转 (1)直接Redirect后加(Controller/Action):Response.Redirect("/Home/Index"); (2)直 ...
- shell和awk配合使用
#!/bin/sh#$1 video id#$2 save result file########################################################### ...
- nm 命令 程序符号信息查看
http://www.cnblogs.com/wangkangluo1/archive/2012/07/02/2572438.html 用途 显示关于对象文件.可执行文件以及对象文件库里的符号信息. ...
- 文本框只支持数字、小数点、退格符、负号、Del键
Public Function OnlyNumberAndDot(inKeyAscii As Integer) As Integer '函数说明:文本框只支持数字.小数点.退格符.负号.Del键 '入 ...
- sublime 格式化XML文件
下载插件 下载下来后将其解压到D:\tools\Sublime Text 3109\Data\Packages 打开sublime,preferences->browse packages,会弹 ...
- 使用Nginx Upstream 部署 OpenERP
Openerp 6.1 使用werkzeug 作为web服务的框架,性能比之前的cherrypy 有了很大的改善.但无论是 werkzeug 还是cherrypy ,都不是专门的web服务器.通常的做 ...
- bazel、tensorflow_serving、opencv编译问题
1.出现该错误表示opencv冲突,该机器上有多个opencv版本. 解决方法:卸载低版本opencv 2.bazel中BUILD的写法: copts中放置-I/usr/include/.-D lin ...
- javascript 跳出(终止)forEach循环
javascript 跳出(终止)forEach循环 CreateTime--2018年4月23日17:58:12 Author:Marydon 报错信息: 解决方案: javascript 跳出 ...