<h1>引入图片</h1>

        <img src="assets/images/02.png" alt="收藏" />

        <img [src]="picUrl" />

<hr>

<h1>循环数据 显示数据的索引(key)</h1>

      <ul>

        <li *ngFor="let item of list;let key=index;">
{{key}}---{{item.title}}
</li>
</ul> <h1>条件判断语句 *ngIf</h1> <div *ngIf="flag"> <img src="assets/images/02.png" />
</div> <div *ngIf="!flag"> <img src="assets/images/01.png" />
</div> <ul> <li *ngFor="let item of list;let key=index;">
<span *ngIf="key==1" class="red">{{key}}---{{item.title}}</span>
<span *ngIf="key!=1">{{key}}---{{item.title}}</span>
</li> </ul> <h1>条件判断语句 *ngSwitch</h1> <span [ngSwitch]="orderStatus">
<p *ngSwitchCase="1">
表示已经支付
</p>
<p *ngSwitchCase="2">
支付并且确认订单
</p>
<p *ngSwitchCase="3">
表示已经发货
</p>
<p *ngSwitchCase="4">
表示已经收货
</p>
<p *ngSwitchDefault>
无效订单
</p>
</span> <h1>属性[ngClass]、[ngStyle]</h1> <div class="red">
ngClass演示 (尽量不要用dom来改变class)
</div> <div [ngClass]="{'blue':true,'red':false}">
ngClass演示
</div> <hr> <div [ngClass]="{'orange':flag,'red':!flag}">
ngClass演示
</div> <strong>循环数组,让数组的第一个元素的样式为red ,第二个为orange</strong> <ul> <li *ngFor="let item of list;let key=index;" [ngClass]="{'red':key==0,'orange':key==1,'blue':key==2}">
{{key}}---{{item.title}}
</li>
</ul> <hr> <p style="color:red">我是一个p标签</p> <p [ngStyle]="{'color':'blue'}">我是一个p标签</p> <p [ngStyle]="{'color': attr}">我是一个p标签 </p> <br> <h1>管道</h1> {{today | date:'yyyy-MM-dd HH:mm ss'}} <h1>事件</h1> <strong>{{title}}</strong> <br>
<br> <button (click)="run()">执行事件</button> <br>
<br> <button (click)="getData()">执行方法获取数据</button>
<br> <br>
<button (click)="setData()">执行方法改变属性里面的数据</button> <br> <br>
<button (click)="runEvent($event)">执行方法获取事件对象</button> <h1>表单事件 事件对象</h1> <!-- <input type="text" (keydown)="keyDown()" /> --> keyDown
<input type="text" (keydown)="keyDown($event)" /> <br> keyUp: <input type="text" (keyup)="keyUp($event)" /> <h1>双休数据绑定--MVVM 只是针对表单</h1> <input type="text" [(ngModel)]='keywords' /> {{keywords}} <br>
<br> <button (click)="changeKeywords()">改变keywords的值</button> <br>
<br> <button (click)="getKeywords()">获取keywords的值</button> <br>
<br>
<br>
<br>
<br>
import { Component, OnInit } from '@angular/core';

@Component({
selector: 'app-home',
templateUrl: './home.component.html',
styleUrls: ['./home.component.scss']
})
export class HomeComponent implements OnInit { public title:string='我是一个title'; public picUrl='https://www.baidu.com/img/superlogo_c4d7df0a003d3db9b65e9ef0fe6da1ec.png'; public list:any[]=[
{
"title":'我是新闻1'
},
{
"title":'我是新闻2'
},
{
"title":'我是新闻3'
}
]; public flag:boolean=true; public orderStatus:number=3; /* 1表示已经支付 2支付并且确认订单 3、表示已经发货 4表示已经收货 其他、无效*/ public attr:string='orange'; public today:any=new Date(); public keywords:string='这是默认值'; constructor() { console.log(this.today); } ngOnInit() { } run(){ alert('这是一个自定义方法')
} getData(){ alert(this.title); } setData(){ this.title='我是一个改变后的title';
} runEvent(event){ //ionic必须这样写 let dom:any=event.target; dom.style.color="red"; } keyDown(e){ if(e.keyCode==13){
console.log('按了一下回车')
}else{ //e.target 获取dom对象
console.log(e.target.value);
} } keyUp(e){ if(e.keyCode==13){ console.log(e.target.value);
console.log('按了一下回车');
}
} changeKeywords(){ this.keywords='我是改变后的值';
} getKeywords(){ console.log(this.keywords)
}
}

.css

img{
max-width: 200px;
}
.red{
color:red;
}
.blue{
color: blue;
} .orange{
color: orange;
}

angular组件数据和事件的更多相关文章

  1. angular组件数据

    import { Component, OnInit } from '@angular/core'; @Component({ selector: 'app-news', templateUrl: ' ...

  2. angular,vue,react的基本语法—动态属性、事件绑定、ref,angular组件创建方式

    基本语法: 动态属性: vue: v-bind:attr="msg" :attr="msg" react: attr={msg} angular [attr]= ...

  3. angular组件间的通信(父子、不同组件的数据、方法的传递和调用)

    angular组件间的通信(父子.不同组件的数据.方法的传递和调用) 一.不同组件的传值(使用服务解决) 1.创建服务组件 不同组件相互传递,使用服务组件,比较方便,简单,容易.先将公共组件写在服务的 ...

  4. Angular组件——父子组件通讯

    Angular组件间通讯 组件树,1号是根组件AppComponent. 组件之间松耦合,组件之间知道的越少越好. 组件4里面点击按钮,触发组件5的初始化逻辑. 传统做法:在按钮4的点击事件里调用组件 ...

  5. 4.认识Angular组件之2

    11. 变化监测:Angular提供了数据绑定的功能.所谓的数据绑定就是将组件类的数据和页面的DOM元素关联起来.当数据发生变化时,Angular能够监测到这些变化,并对其所绑定的DOM元素 进行相应 ...

  6. Angular组件之间通讯

    组件之间会有下列3种关系: 1. 父子关系 2. 兄弟关系 3. 没有直接关系 通常采用下列方式处理(某些方式是框架特有)组件间的通讯,如下: 1父子组件之间的交互(@Input/@Output/模板 ...

  7. 003——angular 组件 以及组件里面的模板

    创建组件: ng g component components/news 一.创建 angualr 组件................................................ ...

  8. EXTJS项目实战经验总结一:日期组件的change事件:

    1  依据选择的日期,加载相应的列表数据,如图:   开发说明    1 开发思路: 在日期值变化的事件中获得选择后的日期值,传给后台,然后从后台加载相应的数据 2 问题:在查看extjs2.2 的a ...

  9. angular的数据双向绑定秘密

    Angular用户都想知道数据绑定是怎么实现的.你可能会看到各种各样的词汇:$watch,$apply,$digest,dirty-checking... 它们是什么?它们是如何工作的呢?这里我想回答 ...

随机推荐

  1. C++——同名隐藏 和 赋值兼容规则

    同名隐藏 一旦子类定义了与父类同名的方法,则父类里面该名字的所有方法都被隐藏了.必须显示指定是父类的方法才可以 #include<iostream> using namespace std ...

  2. cuda环境搭建

    cuda环境搭建 cuda 的安装 一篇很不错的博客 https://blog.csdn.net/u014529295/article/details/78766258 另外官网也有介绍 https: ...

  3. P1273 有线电视网[分组背包+树形dp]

    题目描述 某收费有线电视网计划转播一场重要的足球比赛.他们的转播网和用户终端构成一棵树状结构,这棵树的根结点位于足球比赛的现场,树叶为各个用户终端,其他中转站为该树的内部节点. 从转播站到转播站以及从 ...

  4. 快捷键和功能键、进入DOS命令行的方法、DOS命令讲解、java跨平台原理、JRE和JDK的定义、书写格式

    快捷键和功能键A:键盘功能键* a:Tab* b:Shift* c:Ctrl* d:Alt* e:空格 * f:Enter* g:Window* h:上下左右键* i:PrtSc(PrintScree ...

  5. 03 Spring对Bean的管理

    Spring创建bean的三种方式 1.第一种方式:使用默认构造函数创建 bean.xml <?xml version="1.0" encoding="UTF-8& ...

  6. BZOJ 1181: [CROATIAN2009] IZBROI选举(二分+dp)

    题面 在一个地区的选举中,共有V个人参加了投票,每一票只可能投给N个政党中的一个.当地的议会共有M个席位.不妨将N个政党编号为1到N,并且设编号为i的政党最终的得票为Vi,则议会中的席位按如下规则分配 ...

  7. Python3 报错'latin-1' codec can't encode character 解决方案

    Python3 报错'latin-1' codec can't encode character 解决方案 在更新数据库操作时,报错: UnicodeEncodeError: 'latin-1' co ...

  8. Laravel 6.0 Schedule Preventing Task Overlaps 测试

    1 目的 1.1 测试 Laravel 6.0 任务执行机制 2 意义 2.1 在日常开发中,有的任务比较复杂,在两次任务的调度周期间隔中无法完成. 2.2 为了防止重复任务的持续生成和反复调用,对服 ...

  9. [Luogu] 仓鼠找sugar

    https://www.luogu.org/problemnew/show/3398 树剖练习题,两个懒标记,搜索时序为全局懒标记 #include <bits/stdc++.h> usi ...

  10. P4556 雨天的尾巴 线段树合并

    使用线段树合并,每个节点维护一棵权值线段树,下标为救济粮种类,区间维护数量最多的救济粮编号(下标).所以每个节点答案即为\(tre[rot[x]]\). 然后运用树上点的差分思想,对于分发路径\(u, ...