一、创建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框架(二)的更多相关文章

  1. 初探AngularJs框架(三)

    一.实现todoList的demo 功能很简单,提供一个文本框,用户输入回车后添加新条目.每个条目可以在待处理和处理中两个区域间切换,每个条目都可以被删除,大致的界面如下图所示: 二.处理逻辑 首先将 ...

  2. 初探AngularJs框架(一)

    一.需要准备的环境 Nodejs:https://nodejs.org/en/download/ Python:https://www.python.org/downloads/release/pyt ...

  3. 初探接口测试框架--python系列3

    点击标题下「微信」可快速关注 坚持的是分享,搬运的是知识,图的是大家的进步,没有收费的培训,没有虚度的吹水,喜欢就关注.转发(免费帮助更多伙伴)等来交流,想了解的知识请留言,给你带来更多价值,是我们期 ...

  4. 初探JavaScript(二)——JS如何动态操控HTML

    除去五一三天,我已经和<JavaScript Dom编程艺术>磨合了六天,第一印象很好.慢慢的,我发现这是一块排骨,除了肉还有骨头.遇到不解的地方就会多看几遍,实在不懂的先跳过,毕竟,初次 ...

  5. 初探接口测试框架--python系列7

    点击标题下「蓝色微信名」可快速关注 坚持的是分享,搬运的是知识,图的是大家的进步,没有收费的培训,没有虚度的吹水,喜欢就关注.转发(免费帮助更多伙伴)等来交流,想了解的知识请留言,给你带来更多价值,是 ...

  6. 初探接口测试框架--python系列2

    点击标题下「蓝色微信名」可快速关注 坚持的是分享,搬运的是知识,图的是大家的进步,没有收费的培训,没有虚度的吹水,喜欢就关注.转发(免费帮助更多伙伴)等来交流,想了解的知识请留言,给你带来更多价值,是 ...

  7. 初探接口测试框架--python系列4

    点击标题下「蓝色微信名」可快速关注 坚持的是分享,搬运的是知识,图的是大家的进步,没有收费的培训,没有虚度的吹水,喜欢就关注.转发(免费帮助更多伙伴)等来交流,想了解的知识请留言,给你带来更多价值,是 ...

  8. 初探接口测试框架--python系列5

    点击标题下「蓝色微信名」可快速关注 坚持的是分享,搬运的是知识,图的是大家的进步,没有收费的培训,没有虚度的吹水,喜欢就关注.转发(免费帮助更多伙伴)等来交流,想了解的知识请留言,给你带来更多价值,是 ...

  9. 初探接口测试框架--python系列6

    点击标题下「蓝色微信名」可快速关注 坚持的是分享,搬运的是知识,图的是大家的进步,没有收费的培训,没有虚度的吹水,喜欢就关注.转发(免费帮助更多伙伴)等来交流,想了解的知识请留言,给你带来更多价值,是 ...

随机推荐

  1. SVN服务的模式和多种访问方式 多种访问原理图解与优缺点

    SVN企业应用场景 SVN任是当前企业的主流.git正在发展,未来会成为主流.如果大家精力足够,建议同时掌握. 1.4运维人员掌握版本管理 对于版本管理系统,运维人员需要掌握的技术点: 1.安装.部署 ...

  2. 前端 HTML form表单标签 textarea标签 多行文本

    <textarea></textarea>作用:允许用户录入多行数据到表单控件中 <!DOCTYPE html> <html lang="en&qu ...

  3. Python3学习之路~3.3 内置函数

    Python内置函数表: 内置参数详解:https://docs.python.org/3/library/functions.html?highlight=built#ascii 用法: #Auth ...

  4. jquery 无缝轮播

    新闻公告无缝轮播--demo 理解:向上移动一个li的高度+margin-bottom值,同时将ul第一个的li插入到ul的最后一个位置. <!DOCTYPE html> <html ...

  5. kickstart模式实现批量安装centos7.x系统

    1.1 安装系统的方法 l  光盘(ISO文件,光盘的镜像文件)===>>每一台物理机都得给一个光驱,如果用外置光驱的话,是不是每台机器都需要插一下 l  U盘:ISO镜像刻录到U盘==& ...

  6. solr整合spring

    <!-- 单机版solr服务配置 --> <!-- <bean id="httpSolrServer" class="org.apache.sol ...

  7. Spring MVC POM示例

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...

  8. MySql语句常用命令整理---单表查询

    初始化t_employee表 创建t_employee表 -- DROP TABLE IF EXISTS test; CREATE TABLE t_employee ( _id INTEGER PRI ...

  9. vbox 相关

    1.虚拟机vbox 安装mac os 10.12 图文教程: https://www.cnblogs.com/liming2017/p/7566953.html

  10. histogram 和 bar plot的区别

    最本质的区别是这样的:histogram用来描述的是numerical变量,而bar plot用来描述的是categorical类型的变量.统计学当中关于变量的分类 这可以从它们的图形上面看到: hi ...