angular组件数据和事件
<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组件数据和事件的更多相关文章
- angular组件数据
		
import { Component, OnInit } from '@angular/core'; @Component({ selector: 'app-news', templateUrl: ' ...
 - angular,vue,react的基本语法—动态属性、事件绑定、ref,angular组件创建方式
		
基本语法: 动态属性: vue: v-bind:attr="msg" :attr="msg" react: attr={msg} angular [attr]= ...
 - angular组件间的通信(父子、不同组件的数据、方法的传递和调用)
		
angular组件间的通信(父子.不同组件的数据.方法的传递和调用) 一.不同组件的传值(使用服务解决) 1.创建服务组件 不同组件相互传递,使用服务组件,比较方便,简单,容易.先将公共组件写在服务的 ...
 - Angular组件——父子组件通讯
		
Angular组件间通讯 组件树,1号是根组件AppComponent. 组件之间松耦合,组件之间知道的越少越好. 组件4里面点击按钮,触发组件5的初始化逻辑. 传统做法:在按钮4的点击事件里调用组件 ...
 - 4.认识Angular组件之2
		
11. 变化监测:Angular提供了数据绑定的功能.所谓的数据绑定就是将组件类的数据和页面的DOM元素关联起来.当数据发生变化时,Angular能够监测到这些变化,并对其所绑定的DOM元素 进行相应 ...
 - Angular组件之间通讯
		
组件之间会有下列3种关系: 1. 父子关系 2. 兄弟关系 3. 没有直接关系 通常采用下列方式处理(某些方式是框架特有)组件间的通讯,如下: 1父子组件之间的交互(@Input/@Output/模板 ...
 - 003——angular 组件 以及组件里面的模板
		
创建组件: ng g component components/news 一.创建 angualr 组件................................................ ...
 - EXTJS项目实战经验总结一:日期组件的change事件:
		
1 依据选择的日期,加载相应的列表数据,如图: 开发说明 1 开发思路: 在日期值变化的事件中获得选择后的日期值,传给后台,然后从后台加载相应的数据 2 问题:在查看extjs2.2 的a ...
 - angular的数据双向绑定秘密
		
Angular用户都想知道数据绑定是怎么实现的.你可能会看到各种各样的词汇:$watch,$apply,$digest,dirty-checking... 它们是什么?它们是如何工作的呢?这里我想回答 ...
 
随机推荐
- Python 写入训练日志文件并控制台输出
			
1. 背景 在深度学习的任务中,通常需要比较长时间的训练,因此我们会选择离开电脑.笔者在跟踪模型表现, 观察模型accuracy 以及 loss 的时候,比较传统的方法是在控制台print输出或者直接 ...
 - 基本排序-冒泡/选择/插入(python)
			
# -*- coding: utf-8 -*- import random def bubble_sort(seq): n = len(seq) for i in range(n-1): print( ...
 - 【胡搞的不能AC的题解,暴力搜索一发博弈问题】1995 三子棋 - 51Nod
			
1995 三子棋 题目来源: syu校赛 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 原题链接: https://www.51nod.com/onlineJudge/ ...
 - Object.defineProperty 相关学习
			
Object.defineProperty 学习 描述: 方法直接在对象上定义一个新属性,或修改对象上的现有属性 并返回该对象.该方法允许精确地添加或修改对象上的属性: 语法: Object.de ...
 - 简述 CGI、FastCGI和php-FPM的区别
			
1.CGI是联系webserver 跟php解析器的一个桥梁 2.FastCGI是CGI改良的版本 3.php-FPM 是FastCGI 的进程管理器
 - 学到了林海峰,武沛齐讲的Day18-4 文件操作
			
print(data.decode('utf-8')) 转换utf-8格式f.write('杨件'.encode('utf-8')) 转换为bytes# f.write(bytes('1111\n', ...
 - LOJ P10148 能量项链 题解
			
Analysis 区间dp裸题,因为是环所以存两次 #include<iostream> #include<cstdio> #include<cstring> #i ...
 - Greenplum 调优--数据分布法则 - 分布列与分区的选择
			
分布列选择黄金法则 由于Greenplum是一个分布式的数据库,数据是分散存储在各个数据节点的,所以需要告诉Greenplum数据应该如何分布. 短板效应 当用户请求QUERY时,Greenplum会 ...
 - learning scala stream collection
			
最关键的部分是计算序列的同时,不会引发无限递归, #:: 表达式的右边只有在被请求时才会被求值.
 - .NET项目 - sqlserver 连接字符串
			
服务器本地连接: <connectionStrings> <add name="db" connectionString="Data Source=lo ...