博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Angular7.1.4+Typescript3.1框架学习(三)
阅读量:6816 次
发布时间:2019-06-26

本文共 2781 字,大约阅读时间需要 9 分钟。

接着第二部分,这部分介绍常见angular指令使用

1. 在父页面文件中添加组件(通过ng命令生成的component)

其中messages,为组件名。

2. Angular 绑定数据

  • (1)数据文本绑定

          定义数据几种方式:

          

  • public 共有(默认) 可以在类里外使用
  • protected 保护类型 只能在当前类和子类中使用
  • private 私有类型 只能在当期类使用

         html文件中变量绑定:

{
{title}}

  • (2)绑定HTML

       ts文件中定义文本:

this.h="

这是一个 h2 用[innerHTML]来解析

"

  绑定方法:

  h为ts中定义的变量,引用的时候将属性用[]包裹

 

3. 数据循环 *ngFor

 

     1) ts文件中定义数组:

export class xxxxxxxxxxxx implements OnInit {  arr = [{ name: 'poetries', age: 22 }, { name: 'jing' , age: 31}];  constructor() { }  ngOnInit() {  }}

 2)   使用

     ngFor 普通循环

    html文件中使用如下:

  • {
    {item.name}}- {
    {item.age}}

 循环的时候设置 key

     html文件中使用如下:

  • {
    {item}} --{
    {i}}

 template 循环数据

  • {
    {item}}

4. 条件判断 *ngIf

    

这是 ngIF 判断是否显示

这是 ngIF 判断是否显示

  

5. *ngSwitch

  • 已支付
  • 订单已经确认
  • 已发货
  • 无效

  

6. 执行事件 (click)=”getData()”

html:

ts:

getData(){ /*自定义方法获取数据*/ //获取  alert(this.msg);} setData(){    //设置值    this.msg='这是设置的值';}

  

7. 表单事件

html:

ts:

keyUpFn(e){    console.log(e)}

  

8. 双向数据绑定

  注:需要引入FormsModule

 

9. [ngClass]、[ngStyle]

 [ngClass]:

示例1:

这是一个 div

ts:

public flag=false; 

 html:

这是一个 div

 示例2:

ts:

public arr = [1, 3, 4, 5, 6];

html:

  • {
    {item}}

[ngStyle]:

你好 ngStyle

示例:

ts:

public attr='red';

html:

你好 ngStyle

 

10. 管道

ts:

public today=new Date();

html:

{

{today | date:'yyyy-MM-dd HH:mm:ss' }}

常用的管道(pipe)有: 

大写:uppercase
小写:lowercase 日期格式:date:'yyyy-MM-dd HH:mm:ss' 小数位数:number:'1.2-4'  注:{最少整数位数}.{最少小数位数}-{最多小数位数}
js对象序列化:

{

{ { name: 'semlinker' } | json }}

 slice:

{

{ 'semlinker' | slice:0:3 }}

 管道链:

{

{ 'semlinker' | slice:0:3 | uppercase }}

 自定义管道:

       自定义管道的步骤:

  • 使用 @Pipe 装饰器定义 Pipe 的 metadata 信息,如 Pipe 的名称 - 即 name 属性
  • 实现 PipeTransform 接口中定义的 transform 方法

    1)WelcomePipe 定义:

import { Pipe, PipeTransform } from '@angular/core';[@Pipe](/user/Pipe)({ name: 'welcome' })export class WelcomePipe implements PipeTransform {  transform(value: string): string {    if(!value) return value;    if(typeof value !== 'string') {      throw new Error('Invalid pipe argument for WelcomePipe');    }    return "Welcome to " + value;  }}

  2)WelcomePipe 使用

{

{ 'semlinker' | welcome }}

{

{ 'semlinker' | welcome }}

  3)RepeatPipe 定义

import {Pipe, PipeTransform} from '@angular/core';[@Pipe](/user/Pipe)({name: 'repeat'})export class RepeatPipe implements PipeTransform {    transform(value: any, times: number) {        return value.repeat(times);    }}

  4)RepeatPipe 使用

{

{ 'lo' | repeat:3 }}

{

{ 'lo' | repeat:3 }}

  

 

      

 

 

 

转载于:https://www.cnblogs.com/biaoge80/p/10578890.html

你可能感兴趣的文章
前端爬虫cheerio&&puppeteer
查看>>
Linux日常操作整理
查看>>
rem和em的用法
查看>>
【译】整理->20个让你效率更高的CSS代码技巧
查看>>
Prometheus学习系列(十一)之Hello World
查看>>
IDEA常用设置及推荐插件
查看>>
java多线程基本概述(十一)——ReadWriteLock
查看>>
机器学习 深度学习 计算机视觉 资料汇总
查看>>
深度学习网络结构中超参数momentum了解
查看>>
js几种创建对象的方式
查看>>
微信小程序中this关键字使用技巧
查看>>
multiprocessing的基础用法
查看>>
N的阶乘的长度 V2(斯特林近似) 求 某个大数的阶乘的位数 .
查看>>
第二十二课:运算放大电路
查看>>
geek必备工具列表
查看>>
SVN 目录 定义
查看>>
P2252 取石子游戏
查看>>
Fastcgi工作原理
查看>>
SQL Server 中字符数据处理解析(下)
查看>>
[NOI2012]美食节——费用流(带权二分图匹配)+动态加边
查看>>