【笔记】AngularJs学习笔记[02]【实践回顾与知识点归纳】

前端项目-ng-currency.zip 前端项目-ng-currency,与货币筛选器一起使用的指令。 立即下载

⭐️ 本文首发自 前端修罗场(点击即可加入),一个专注 Web 技术、答疑解惑、面试辅导、职业发展的社区。现在加入,即可参与打卡挑战,和一群人一起努力。挑战成功即可获取一次免费的模拟面试机会,进而评估知识点的掌握程度,获得更全面的学习指导意见,不走弯路,不吃亏!


上一篇中,我们介绍ng的数据绑定的方法,不知道你是否能给吸收。想了一下,为了在 ng 入门之前能够帮助大家打好基础,所以在这篇中我就用一个例子来解析 ng,并归纳一下 ng 的知识点。

案例解析

<html ng-app>
<!-- ng-app 告诉angular 应该管理页面的那部分,在html中声明就是管理整个html页面 -->
<head>
	<title></title>
</head>
<!-- 用控制器管理body标签之间的任何东西 -->
<body ng-controller='CartController'>
	<h1>订单:</h1>
	<!-- ng-repeat为items数组中每个元素拷贝一个这个div中的DOM,在div每次拷贝中,同时设置一个叫item的属性代表当前元素 -->
	<div ng-repeat='item in items'>
		<!--将当前项的title属性插入到DOM中 -->
		<span>{{item.title}}</span>
		<!-- 定义创建了输入字段和item.quantity之间的数据绑定 -->
		<input ng-model='item.quantity' />
		<!-- currency是ng的一种过滤器 -->
		<span>{{item.price|currency}}</span>
		<span>{{item.price*item.quantity|currency}}</span>
		<!-- ng-click点击调用remove()函数,并传递$index -->
		<button ng-click="remove($index)">删除</button>
	</div>

	<script type="text/javascript" src="js/angular.js"></script>
	<script type="text/javascript">
	//管理逻辑
		// $scope对象:用来把数据绑定到界面上的元素
		function CartController($scope){
			$scope.items=[{//定义一个items集合
				title:'水笔',
				quantity:8,
				price:3.95
			},{
				title:'毛笔',
				quantity:10,
				price:12.95
			}];
			//定义remove函数,将remove加到$scope中
			$scope.remove=function(index){
				$scope.items.splice(index,1);
			};
		}
	</script>
</body>
</html>

希望在对这个例子进行了完整的注解之后,你能更清晰的理解ng的思路,并且希望您能亲自实践一下!实践是检验真理的唯一标准嘛~


知识点归纳

1.MVC
ng是基于MVC的js库,首先你要了解一下JS在MVC上的解析。

M:模型,包含应用当前状态的数据;
V:视图,显示模型中的数据;
C:控制器,管理模型与视图的关系。

用一张图来解释:

javascript-MVC模式

现在是否对javascript的MVC模式有更清晰的认识呢。

OK,我们接下来将ng.

2.angularjs知识点

首先,你要使用ng来创建一个web应用,你必须做2件事:

(1)加载angularjs;(通常我们可以使用CDN加载angularjs,因为CDN是一种“脚本跨应用缓存”,即当用户有多个使用angularjs的应用时,ng只下载一次,不会再次加载CDN。)

(2)使用ng-app告知angular管理那一部分的DOM;

注释:如果在现有的一个应用中,希望使某部分用angularjs来管理,就在该部分的元素上加上ng-app,如<div ng-app></div>

其次,在我们在$scope中创建数据的时候,应该使用“模型对象”的方式来包含数据,这样能避免在$scope对象中原型继承引起非预期的行为。

如:

var messages={};//定义一个messages对象
		messages.someText="hello world";//为messages的属性someText赋值
		function myController($scope){
			$scope.messages=messages;
		}

这样,我们就像数据包含在模型对象messages中啦~。

3、angular知识点——ng应用启动流程

angular应用的标准启动流程分为下列几步:

  1. 用户请求应用的第一个页面;
  2. 用户的浏览器发出一个HTTP链接到服务器,加载包含模板的index.html页面;
  3. angualr加载到页面,等待页面完全加载完成,然后寻找ng-app定义模板的边界;
  4. angular经过模板寻找标识符和捆绑,监听器和DOM操作完成了注册。同时,从服务器查询初始化数据,应用启动完成。
  5. 连接到服务器按需加载你额外需要展示给用户的数据。

如此下来,用angular结构化应用,将应用程序的模板和填充它们的数据分离啦爽吧~
这样一来,模板可缓存,在第一次加载后只有新数据加载到浏览器,提升了浏览器的性能。

4、angular常用指令

ng-bind、ng-model、ng-show/hide 、ng-if

ng-checked、ng-src、ng-href、 ng-class 、

ng-selected、ng-submit 、ng-change、 ng-disabled

这些常用指令一定要熟悉它们的用法,在实际工作中很常用到。关于指令的作用可以参考一下这篇文章:http://www.jb51.net/article/60733.htm


OK,关于ng入门的实践和知识点的归纳就到这里,如果还有哪些需要了解的欢迎留言~

每篇一语:

《致命魔术》中说过,“魔术三步骤——以虚代实、偷天换日、化腐朽为神奇”,波登在影片最后告诉安杰,对艺术的牺牲才是他的secret,这也诠释了魔术的最后一步骤。所以,当你想达到一个位置的时候,助你上去的是你付出的极大的代价。安杰只做到了前两部,而波登做到了,这就是波登最终活下来的原因吧。

这里写图片描述

kafka监控angular.js cdn已替换版 index.html中调用谷歌的angular.js已经全部替换成国内的cdn 立即下载

相关推荐

STM32F105双路CAN通讯无法进入接收中断问题及解决方法

STM32F105RBT6双路CAN通讯无法进入接收中断问题及解决方法

m0_62383223的博客 3441

angular9-cdn简介

angular

qq_41632427的博客 276

计算机网络(国家电网)

1.局域网中NOS(网络操作系统)提供的通信服务有工作站与工作站之间的对等通信,工作站与服务器之间的通信2.ISP:Internet服务商应用层 APDU(应用层协议数据单元)表示层 PPDU(表示层协议数据单元)会话层 SPDU(会话层协议数据单元)传输层 segment(报文段)网络层 packet (数据包)数据链路层 frame(数据帧)物理层 bit (比特)4.

qq_31715647的博客 3183

安装 AngularJS

当你运行 npm i -g @angular/cli 时,你就是在全局范围内安装Angular CLI,这样你就可以在任何目录下使用它来创建和管理Angular应用程序。npm可能安装失败建议先用npm安装一下cnpm用淘宝镜像安装。下载完之后,建议关掉当前控制台,重新打开一下再使用。查看cnpm是否安装成功。

GeGe&YoYo的博客 792

MATLAB并行开不了的解决办法

在服务器上新安装了MATLAB 2013b,在开并行计算的时候出现了下列问题 经过在网上搜多这个问题,我感觉这个问题应该是安装的时候的验证问题或者激活不成功之类的。注意其中有一句validate the profile ‘local’ in the Cluster Profile Manager.在matlab官网上找到了设置Cluster Manager的教程,如下 parallel>

sinat_36713319的博客 5987

【QGIS】利用“创建网格”功能实现区域等距分割与坐标转换实战

本文详细介绍了如何在QGIS中使用“创建网格”工具实现区域等距分割。通过实战演示,将北京市行政区划切割为150米正方形网格,并重点讲解了关键步骤:选择投影坐标系EPSG:3857以确保网格尺寸精确,以及将结果转换为常用的WGS84经纬度坐标。文章还涵盖了进阶技巧与常见问题解决方案,帮助用户高效完成空间网格化分析任务。

weixin_29232507的博客 94

Angular 从零开始,快速上手

AngularJS诞生于2009年,由 Misko Hevery 等人创建,后为Google所收购。是一款由Google开发优秀的前端JS框架,于2010年首次发,已经被用于Google的多款产品当中。MVVM、模块化、自动化双向数据绑定、语义化标签、依赖注入等等。AngularJS的核心思想是使用MVC()架构模式来构建Web应用程序。在AngularJS出现之前,Web开发中存在许多挑战。

JAVA开发区的博客 1万+

ARM Memory Compiler实战指南:从参数配置到GDSII生成的全流程解析

本文详细解析了ARM Memory Compiler在SRAM设计中的全流程应用,从基础参数配置到GDSII文件生成。涵盖SRAM类型选择、核心参数配置策略、高级优化技巧及TSMC 28nm工艺下的实战案例,帮助IC设计工程师高效实现存储器模块的优化设计。

game4的博客 416

AngularJS总结

AngularJS总结   2018年8月27日 AngularJS是什么     AngularJS是一个MVC框架,不是类库。它不仅仅是一个JavaScript框架,因为它的核心其实是对HTML标签的增强。 那么何为HTML标签增强?其实就是咱们在开发过程中使用标签完成的一部分页面逻辑,具体方式是通过自定义标签、自定义属性等实现的 为了实现这些,AngularJS引入了一些非常好的特...

酷萌的汉子 604

【NodeRed】node-red-contrib-opcua实现PLC读写

在之前的博文【Node-RED】node-red-contrib-opcua-server模块使用(1)中,我们介绍了用node-red-contrib-opcua-server模块实现OPCUA服务端的,以及二次开发的内容。本节博文中我们采用官方社区自带的node-red-contrib-opcua组件开展对OPCUA客户端的介绍,详细阐述用该组件中OpcUa-Client节点实现客户端对PLC的读写,以及实现过程中遇到的问题。由于官方社区中并没有找到该组件的介绍实例,这也是本博文编写的第1个原因。

weixin_48618536的博客 957

基于 Qt C++ 的 2D 动画制作工具

你可以修改它的中心坐标 (X, Y)、宽度 (W)、高度 (H),或点击 "选择颜色" 按钮改变其填充色。* **图形视图 (`QGraphicsView` 和 `QGraphicsScene`)**: 用于显示和编辑当前帧的内容。

寒寒豆豆软件公司的博客 111

[Angularjs-学习笔记]工具篇

因为一开始学习前端知识一直都是在慕课网,所以这次准备学习下angularjs等了好久,终于慕课网出了angularjs的内容,于是准备开始跟着老师的步骤进行学习。 大漠老师关于开发工具的内容讲得比较快,对于其中前端常用的工具也只是简单了介绍了下。这里需要学员自己根据具体情况,选择自己需要的工具。同时,需要学员自己花额外的功夫来熟悉使用它们。 就我们...

148

AUTOSAR-WdgM篇

Wdg通常有两种:一种是芯片内部自带的片内看门狗,另一种是在芯片外部通过SPI这种接口连接的片外看门狗。MCAL只负责常用的有MCU内部看门狗,片内看门狗的特点是Wdg模块是直接访问相关硬件寄存器。内部看门狗依赖于系统时钟片外看门狗属于设备抽象层负责,通常需要使用MCAL提供的其他模块(比如SPI,DIO,PWM等)来访问/控制外扩看门狗芯片。这种不能直接访问硬件寄存器。Wdg Driver:有三种模式slow mode,fast mode ,off mode。

qq_329563867的博客 5828

AngularJS学习笔记(一):表达式&指令&作用域

由于最近要基于phonegap平台做混合型开发的应用,选用了ionic框架(基于AngularJS),而此前没有任何前端语言学习基础,所以我开始看了一点点javascript语法后便开始看AngularJS的入门教程,归纳了一些学习笔记

yujin0213的博客 557

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Angular入门归纳

为什么使用Angular 1)其模块化的构成方式,符合面向对象的思想,进行模块化开发(如阿里的DataV),可以将页面分成多个模块,灵活且重用性很高 2)js代码中不提倡修改dom,依靠数据绑定对页面进行实时修改 1.介绍 通过指令扩展HTML,通过表达式将数据绑定到HTML,指令以ng开头 ng-app定义了一个angular程序,ng-controll...

普通码农的博客 276

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

自己用的AngularJS手册(待修改版)

最近公司刚好要用到AngularJS,那我就自己边用边整理,虽然网上有完整的手册,但我还是想自己归纳一下,用到一点写一点,     毕竟自己用过的东西才算真正的掌握。 创建一个AngularJS模块 使用angular.module()方法 设置一个模块的作用域 使用ng-app属性 定义一个控制器 使用Module.controller()方法

JustForZR的博客 769

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

react、angularjs、vue原理应用场景总结

React 如图: React的虚拟DOM的生成是可以在任何支持Javascript的环境生成的,所以可以在NodeJS或Iojs环境生成虚拟DOM可以直接转成String 然后插入到html文件中输出给浏览器便可 React主要是对虚拟dom进行操作,比如当页面列表内容局部发生改变时React会对虚拟dom进行操作,React 的虚拟 DOM 使得两棵

zhaoming6163433的博客 6037

学习angularjs总结(一)

这几天开始着手学习angularjs的有关知识,将一些心得总结如下: (一)为了使用Angular,所有应用必须首先做两件事情: 1.加载angular.js库。          既可以从外部调用,如:         也可以在本地放入angular.js。 2.使用ng-app指令告诉angular应该管理DOM的哪一部分 (二)MVC风格 1.控制器就是你所编写的类或者

sweety815的博客 366

Angularjs API整理(一) function篇

根据 http://docs.ngnice.com/api/ng 网址下的  英文API文档进行学习归纳和总结。   function篇,就理解成是在  js 文件中  或者 中才会被使用的 angular。 1.  angular.bind (格式:angular.bind(self(对象),fu(函数名),args(参数));) var app = angular.m

易燃易爆炸 1万+

如何用AngularJS构建管理后台

前言 一般来说,一个管理后台的构建的基本流程是:(1)选择一个开发语言->(2)选择一种数据库->(3)选择一个开发轮子(framework)->(4)在轮子上搭建前端框架->(5)实现业务逻辑。  一旦一个后台做出来以后,有了技术积累,以后其他的项目都是克隆版本,这样的流程的缺陷是: 开发语言选型被固化  技术人员的招聘、团队协作开发都必须依赖开发语言统一。业务逻辑的实现无法统一

ximenxiafeng的专栏 1548

AngularJS 学习记录

图片上传功能的实现方法1 : (未经测试) 链接地址: http://www.open-open.com/lib/view/open1437920172156.html提供一个插件的链接: http://www.tuicool.com/articles/vYbAJnI http://www.oschina.net/p/angular-file-upload 方法2:

小菜鸟的Blog 930

angular-file-upload angularJS 文件上传

angular-file-upload angularJS文件上传插件

David宫洪深的博客 9011

[复习面试资料] es6,es7部分新特性归纳整理

一. 简介 现在网上很多es6,es7的资料整理以及深入分析,而这篇文章算是一个比较简单的归纳整理,比较简单,主要涵盖一些面试当中最多问道的一些问题,不过如果后期有时间会整理出来一篇更加详细的,例如数组去重的方法归纳大全之类的.欢迎各位大神批评指正. 二. es6 1. 声明表达式let与const 1.1 let声明表达式 let 命令的用法和 var 相似,但是 let 只在...

weixin_30920091的博客 1106

MacBook上Visual Studio Code开发AngularJS2 之 HelloWorld

创建我的第一个Hello World程序前言最近想学习一下AngularJS2,在网上找过一番资料后归纳如下,在我的笔记本上配置可行,记录供以后参考:环境准备 安装Visual Studio Code(当前版本1.9.1) 下载地址 备份下载 安装Node.js(当前版本6.10.0) 下载地址 备份下载 教程参考http://www.runoob.com/angularjs2/angularj

BH4LM的专栏 1389
上一篇: 【笔记】AngularJs学习笔记[01] 数据绑定
下一篇: 【工具】fis3 - 使用教程(01)
蟹蟹蟹风流
蟹蟹蟹风流 优质创作者: 编程框架技术领域 优质创作者: 编程框架技术领域 领域专家: 前端开发技术领域 领域专家: 前端开发技术领域
博客等级 码龄11年 3万+粉丝 396原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蟹蟹蟹风流

期望和你分享一杯咖啡

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值