初探AngularJs框架(二)
一、创建Components组件
直接使用AngularCLI即可很方便的创建component组件,使用如下指令:
ng g component components/news
这样就会在components文件夹下创建一个名为news的组件(注意必须先在项目中创建components文件夹),在别的html页面中就可以使用<app-news>标签
在news.component.ts文件中可以定义相应的属性,在对应的html页面中就可以调用这些属性,如下图所示,在业务逻辑中定义属性有两种方法,一种是tiltle=’’;一种是msg:any;(这个any代表任何任何类型,也可以类似这样msg:string=’value’定义属性)然后再构造函数中给数据赋值。

定义属性时还可以使用修饰符:public、protected、private,其含义与java语言基本一样,其中public修饰符时默认修饰符。还需要注意定义属性的写法,如下:
public username = “ddd”;
public student:string = “stringType”;
二、绑定属性与绑定后台html
绑定属性:在.ts文件中添加属性id,msg
<div id = “{{id}}”></div> 或者 <div [title]=”msg”></div>
以上两种方式都可以用于绑定属性,如下图所示:

绑定后台html数据:在.ts文件中定义
Public h=””;
This.h=”<h2>这是新闻的数据</h2>”;
在.html文件中使用:
<span [innerHTML]=”h”></span> 或者 <div [innerHTML]=”h”></div>
三、数据循环
在.ts文件中定义数组,this.list=[‘111’,’222’,’333’];
使用*ngFor循环数据,并且获取索引值
<ul>
<li *ngFor=”let item of list;let key=index”>
{{item}}----{{key}}
</li>
</ul>

面对如上list中套list的结构,其取值方式与jsonObject,jsonArray对象类似。
<ul>
<li *ngFor=”let item of list;let key=index”>
{{item}}----{{key}}
<ol>
<li *ngFor=”let name of item.list”>
------{{name}}
</li>
</ol>
</li>
</ul>
可以做一个嵌套循环
四、条件判断以及表单处理
条件判断:<div *ngIf=”flag”>flag为true时才会显示</div>,通过一个按钮,控制flag值的改变,如下图所示:

表单处理:AngularJS 表单是输入控件的集合,以下HTML input元素被称为HTML控件
<input type=”text” (keyup)=’keyupFn($even)’/>传入一个事件对象,在.ts文件中处理这个对象,.ts文件中定义keyupFn()方法,解析event事件对象,将event打印出来如下图所示:

其中srcElement元素是指dom元素,keycode即是需要的键盘码,用于在ts文件中进行相关的操作。同时不同元素传递的event对象类型也不同,如果是button元素,click后传入PointerEvent对象,输入框keyup后传入KeyboardEvent对象。
五、双向数据绑定
当页面初始化的时候,将属性的值赋值给html页面上的元素,当html页面上的元素改变时,.ts文件按中的属性也会随之改变,双向数据绑定和单向数据绑定是有区别的,单向的数据绑定需要一个事件来触发,比如点击一个按钮,后台数据的值发生了改变,相应前台绑定该数据的元素也会改变内容。但是双向数据绑定是指随时保持双向的值同步,而不需要显示调用方法来触发
实现双向数据绑定,必须在module.ts文件中引入FormsModule模块,然后在imports中声明该模块,如下图所示:

当页面上input中的数值改变时,页面上的{{title}}也会随之改变,如下图所示:

PS: []用于绑定属性,不需要加{{}},()用于绑定事件,函数名需要加括号
初探AngularJs框架(二)的更多相关文章
- 初探AngularJs框架(三)
		
一.实现todoList的demo 功能很简单,提供一个文本框,用户输入回车后添加新条目.每个条目可以在待处理和处理中两个区域间切换,每个条目都可以被删除,大致的界面如下图所示: 二.处理逻辑 首先将 ...
 - 初探AngularJs框架(一)
		
一.需要准备的环境 Nodejs:https://nodejs.org/en/download/ Python:https://www.python.org/downloads/release/pyt ...
 - 初探接口测试框架--python系列3
		
点击标题下「微信」可快速关注 坚持的是分享,搬运的是知识,图的是大家的进步,没有收费的培训,没有虚度的吹水,喜欢就关注.转发(免费帮助更多伙伴)等来交流,想了解的知识请留言,给你带来更多价值,是我们期 ...
 - 初探JavaScript(二)——JS如何动态操控HTML
		
除去五一三天,我已经和<JavaScript Dom编程艺术>磨合了六天,第一印象很好.慢慢的,我发现这是一块排骨,除了肉还有骨头.遇到不解的地方就会多看几遍,实在不懂的先跳过,毕竟,初次 ...
 - 初探接口测试框架--python系列7
		
点击标题下「蓝色微信名」可快速关注 坚持的是分享,搬运的是知识,图的是大家的进步,没有收费的培训,没有虚度的吹水,喜欢就关注.转发(免费帮助更多伙伴)等来交流,想了解的知识请留言,给你带来更多价值,是 ...
 - 初探接口测试框架--python系列2
		
点击标题下「蓝色微信名」可快速关注 坚持的是分享,搬运的是知识,图的是大家的进步,没有收费的培训,没有虚度的吹水,喜欢就关注.转发(免费帮助更多伙伴)等来交流,想了解的知识请留言,给你带来更多价值,是 ...
 - 初探接口测试框架--python系列4
		
点击标题下「蓝色微信名」可快速关注 坚持的是分享,搬运的是知识,图的是大家的进步,没有收费的培训,没有虚度的吹水,喜欢就关注.转发(免费帮助更多伙伴)等来交流,想了解的知识请留言,给你带来更多价值,是 ...
 - 初探接口测试框架--python系列5
		
点击标题下「蓝色微信名」可快速关注 坚持的是分享,搬运的是知识,图的是大家的进步,没有收费的培训,没有虚度的吹水,喜欢就关注.转发(免费帮助更多伙伴)等来交流,想了解的知识请留言,给你带来更多价值,是 ...
 - 初探接口测试框架--python系列6
		
点击标题下「蓝色微信名」可快速关注 坚持的是分享,搬运的是知识,图的是大家的进步,没有收费的培训,没有虚度的吹水,喜欢就关注.转发(免费帮助更多伙伴)等来交流,想了解的知识请留言,给你带来更多价值,是 ...
 
随机推荐
- oracle如何查看执行计划
			
1.在PL/SQL Developer中得到一个SQL的执行计划 输入想要查看执行计划的目标SQL,再按一下快捷键F5就可以了.2.explain plan 命令 explain plan for + ...
 - wps去广告
			
彻底解决WPS弹出热点广告.WPS购物图标的办法 方法一:(一定有效) https://www.cnblogs.com/ytaozhao/p/5654149.html 一直用WPS,但一直有一个问题迟 ...
 - 移动端rem布局(阿里)
			
该方案使用相当简单,把下面这段已压缩过的 原生JS(源码已在文章底部更新,2017/5/3) 放到 HTML 的 head 标签中即可(注:不要手动设置viewport,该方案自动帮你设置) < ...
 - 前端 HTML body标签相关内容 常用标签 标题标签 h1-h6
			
标题标签 h1~h6 <h1> - <h6> 标签可定义标题.<h1> 定义最大的标题.<h6> 定义最小的标题. 由于 h 元素拥有确切的语义,因此请 ...
 - php魔术变量和13个PHP魔术函数
			
PHP魔术变量确切地说是PHP魔术常量,不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了.比如说__LINE__放在不同的地方是显示不 ...
 - Oracle(1)之虚拟机下安装与简单使用
			
Oracle介绍与安装 简介 Oracle 数据库系统是美国 ORACLE 公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器 (CLIENT/SERVER) 或 B/ ...
 - xshell帮助
			
查看内置命令 $help Internal Commands:new: Creates a new session.open: Opens a session or the session dialo ...
 - LINUX的DNS怎么设置?linux下如何修改DNS地址
			
LINUX的DNS怎么设置?linux下如何修改DNS地址 https://jingyan.baidu.com/article/870c6fc32c028eb03fe4be30.html Linux下 ...
 - js prototype分析
 - [Java in NetBeans] Lesson 03. More Variables / Type Casting
			
这个课程的参考视频在youtube. 主要学到的知识点有: It is different from python, that "1" only present string &q ...