行如风 Angular初识
本人接触前端代码时间并不长,其中css 、html、js以及jquery库是前端知识的基础,其他一些人可能还接触过php,java等后台的代码,这里就不多废话进入正题:)
大家可能刚开始接触前端知识的时候尤其对jquery库有了先入为主的概念(特别是刚开始就学习的jquery而不是angular、vue等其他前端框架的童鞋),这样的话可能会导致大家在学习Angular框架的时候,思维模式难以转变:
Jquery主要是获取DOM节点(是非模块化的),然后对节点进行操作,如下:
修改一个类名为abc的div标签节点的内容$(‘div.abc’).html(“hello world!”)
大家都会觉得这语法如此简单,而且容易上手,的确是这样,但是有一个问题(敲黑板,这是重点),如果在整个<body>标签里有若干个类名class为abc的标签,则对应标签里的内容都会改变,在大型项目里,会有成百个class和id,难免会有重复名称,而且当某一天根据需求的变化,前端的代码需要改变了,如:上面的div以及类名abc发生了变化,样式还好改变可以在css里处理但是div里的数据内容不会跟着变化,因为已经找不到$(‘div.abc’),还需要开发人员修改代码,不利于代码的维护性(耦合性问题出现,虽然都会避免问题的出现,但不代表不会出现)。
2. Angular是模块化的思维模式,这是与Jquery的区别之一。模块化大家应该都明白
,简单明了的说就是各干各的,互不影响。AngularJS 通过被称为 指令 的新属性来扩展 HTML,上例子,如下:
<div ng-app="myApp" ng-controller="myCtrl">
名字: <input ng-model="name">
</div>
<script>
varapp = angular.module('myApp', []);
app.controller('myCtrl',function($scope) {
$scope.name = "John Doe";
});
</script>
ng-app是初始化一个应用程序的指令,模块化必需的指令;
ng-controller是控制器指令,数据的修改必须用到;
ng-model指令实现数据的绑定。
大家现在可能觉得,这个Angular为什么这么麻烦,完全没有Jquery简单,不就是修改个内容吗,还写这么多,一点都不省事。其实恰恰相反,当代码模块化处理的时候,各司其职,互相之间不影响,耦合性低,不管HTML里的标签会变成什么样子,标签里的数据不会发生改变。当前端的内容逐渐丰富,功能越来越多的时候,代码模块化是最佳的选择,而且Augular最大的一个优点就是数据的双向绑定,数据的处理非常简单,开发更容易。我也在逐渐学习Angular和大家一起成长,对于数据的处理,后续会娓娓道来,这篇就先到这里。
转载于:https://blog.51cto.com/itzhongxin/1911367
行如风 Angular初识相关推荐
- 行如风 Angular 初识3
最近一直在学习AngularJs的内容,受益颇多,今天就继续为大家分享我的学习成果,上一篇博文主要说了一下关于MVC的事情,这个是学习Angular的基础,所以我觉得如果是小白的话非常有必要搞清楚三者 ...
- 听歌用什么降噪耳机好?骑行抗风噪最好的蓝牙耳机
现如今,蓝牙耳机已经成为人们工作和学习生活中的必备神器,无论是开会工作还是听课做题,有了它就能获得双倍的效率和前所未有的畅快体验.今天就给大家扒一扒耳机发烧友必备的4款蓝牙耳机,你想要的纯净音质.降噪 ...
- 什么蓝牙耳机适合外卖骑手用?骑行抗风噪最好的蓝牙耳机推荐
耳机作为日常出行的随身物品.它的用途可是非常的广.而现在的耳机更新换代也越来越快.各种各样的耳机如雨后春笋冒了出来.但是并不是所有的耳机功能配置都是完美的,比如在通话等方面,有些耳机就存在很大的缺陷. ...
- Angular里的消息(Message)显示
使用命名行创建一个Angular Component: ng generate component messages 创建一个message service: ng generate service ...
- 史上最全的Angular.js 的学习资源
Angular.js 的一些学习资源 基础 官方: http://docs.angularjs.org angularjs官方网站已被墙,可看 http://www.ngnice.com/: 官方zi ...
- angular 模块构建_如何通过11个简单的步骤从头开始构建Angular 8应用
angular 模块构建 Angular is one of the three most popular frameworks for front-end development, alongsid ...
- 《Linux命令行与shell脚本编程大全 第3版》
第一部分 Linux 命令行 第1章 初识Linux she 1.1 什么是Linux 2 1.1.1 深入探究Linux 内核 3 1.1.2 GNU 工具 6 1.1.3 Linux 桌面环 ...
- 【2018深信服 醒狮计划】《Linux命令行与Shell脚本编程大全》学习笔记
2018深信服"醒狮计划"笔记 第3周(5.02-5.13) 课程 必修 选修 基本要求 Shell编程 <Linux命令行与Shell脚本编程大全> <Perl ...
- angular和vue和react的区别
一些历史 Angular 是基于 TypeScript 的 Javascript 框架.由 Google 进行开发和维护,它被描述为"超级厉害的 JavaScript MVW 框架" ...
- CTF密码学总结(一)
目录 CTF 密码学总结 题目类型总结: 简单密码类型: 复杂密码类型: 密码学脚本类总结: 单独的密文类型(优先使用ciphey工具) 多层传统加密混合: Bugku的密码学的入门题/.-:(摩斯密 ...
最新文章
- 用wget循环获取指定url下的文件
- Java 8 CompletableFuture 教程 1
- VS2010 自动化整理代码(1)--- VS正则表达替换 PK Vim
- (十)nodejs循序渐进-高性能游戏服务器框架pomelo之介绍和安装篇
- Coding and Paper Letter(四十)
- sql取字段前4位_SQL学习之旅(7)
- dojo 十 ajax dojo/_base/xhr
- python三维数组表示方法_Python操作多维数组和矩阵
- 使用了无效的sql语句_使用SQL语句创建数据库
- 详解:CDH预警配置 QQ邮箱 与 企业实操
- oracle如何获取日期月份差,Oracle获取日期和月份
- entity framework 数据库默认时间的问题的一种解决方案
- 一个月可以学会单片机嘛?单片机编程学多久?
- java定时器定时发短信,定时任务(如:定时发送短信信箱等)
- 分段概率密度矩估计_2017年考研《数学一》大纲
- 【网络空间安全数学基础第8章】环和域
- 补助方针收紧,意在倒逼新能源汽车?
- 出入库管理系统1(配件报表-后录编号)
- 并发编程常见面试题Synchronized 相 关 问 题
- oracle comment on用法,《Oracle comment on注释信息方法论》
热门文章
- C#封装DLL类库,调用类库
- js验证身份证号是否合法
- java 循环读取指定文件夹下所有文件
- java版本对应jdk版本_jdk版本对应数字
- PHP 根据年月返回这个月的第一天时间戳和这个月的最后一天时间戳
- 全网首发:No package ‘usbutils‘ found
- 头目一天不来,就公然上班睡觉,主管怎么当得
- 编译OpenJDK8:error: control reaches end of non-void function [-Werror=return-type]
- 最土家乡话,莫过于栖霞
- 桌面电源、USB、读卡总集线器的想法