1.绑定html

  在ts里面自定义一个html变量

  html = '<a> 这是html变量 </a> ';

  在html打印出来

直接打印:{{html}}
<br />
绑定html:<span [innerHtml]='html'></span>

2.ng

  

3.管道

  主要用于格式化数据。

<a>{{'Abc'| uppercase}}</a>
<hr>
<a>{{'Abc'| lowercase}}</a>
<hr>
<a>{{today | date:'yyyy-MM-dd hh:mm:ss'}}</a>

  

  更多管道:http://bbs.itying.com/topic/5bf519657e9f5911d41f2a34

4.事件

  click  点击(有延迟)

  tap 点击(无延迟)

  keydown  键盘按下

  keyup  键盘弹起

  change  checkbox状态改变事件

  ngModelChange   input输入数据改变

  press 长按

  pan 滑动事件,滑动触发多次

  swipe  滑动事件,滑动触发一次

  rotate  旋转事件(ionic3的,angular没试过)

  pinch   捏合事件 (ionic3的,angular没试过)

touch四件套

  touchstart  手指碰到屏幕触发

  touchmove  手指在屏幕移动多次触发

  touchend  手指离开触发

  touchcancel  滑动中断触发

  ts:

  keyup(e) {
console.log(e.target.value); // 显示目标值(输入框内的值)
console.log(e.key); // 按键,回车键为Enter
console.log(e.keyCode); // 按键code,回车键为13
}

  html:

<input type="text" (keyup)="keyup($event)" />

  上面e.target是指定到那个dom节点,也就是这个text,所以可以在后台对这个节点进行操作,如

    e.target.style.color = 'blue';

5.双向数据绑定  MVVM

  MVVM也就是module view module view,再这里是模块影响视图,视图影响模块,也就是双向数据绑定,例如

<input type="text" [(ngModel)]="title" />

  需要在app.module.ts引入

import { FormsModule } from '@angular/forms';

  imports: [
FormsModule
]

6.获取dom

  html:

<app-header #header></app-header>

<div id='myBox'>原生获取dom</div>

<div #myBox>ViewChild获取dom</div>

  ts:

import { Component, OnInit, ViewChild, AfterViewInit } from '@angular/core';

@Component({
selector: 'app-form',
templateUrl: './form.component.html',
styleUrls: ['./form.component.scss']
})
export class FormComponent implements OnInit, AfterViewInit { @ViewChild('myBox') myBox: any;
@ViewChild('header') header: any;
constructor() { }
ngOnInit() {
// 组件和指令初始化完成 并不是真正的dom加载完成
}
ngAfterViewInit() {
// 应该在这个生命周期函数里面获取dom,调用这个函数需要先import
// 原生获取dom,并改变样式
console.log(document.getElementById('myBox'));
document.getElementById('myBox').style.background = 'red';
// ViewChild获取dom,并改变样式
console.log(this.myBox.nativeElement);
this.myBox.nativeElement.style.background = 'blue';
// ViewChild获取子组件(可以把子组件看成一个dom),并调用子组件的方法
console.log(this.header);
this.header.run();
}
}

  效果图:

  

7.侧边框

  html

<div class="content">
内容区域
<button ion-button (click)="show()">弹出侧边栏</button>
</div> <aside #aside>
侧边栏
</aside>

  scss

aside{
width: 100px;
height: %;
position: absolute;
right: 0px;
top: 0px;
background: azure;
transform: translate(%,);
transition: all 1s;
}

  ts

  @ViewChild('aside') aside: any;
show() {
this.aside.nativeElement.style.transform = 'translate(0, 0)';
}

  效果图:

  

Angular7的更多相关文章

  1. Angular7上手体验

    准备工具 Node.js Angular requires Node.js version 8.x or 10.x. 查看当前你的node版本可以在CMD中输入 node -v npm -v 开发工具 ...

  2. Angular7.1.4+Typescript3.1框架学习(一)

    起因:学习ionic4之前先学习下angular+ts 以win10为开发平台:当前最新版本为angular7;根据官网资料做如下总结: 1. angular安装 前提:Node.js 的 8.x 或 ...

  3. 【前端开发工具】WijmoJS 2018 v3 正式发布,全面支持Angular7

    WijmoJS(前端开发工具包)2018年度第三个大版本已经正式发布,本次更新除了全面支持Angular7之外,还允许用户使用Web Workers在前端更高效地导出PDF.智能的分组表头属性.全新的 ...

  4. Angular7教程-01-Angular开发环境配置

    本教程基于angular7(2018-11-04) 1. 安装node.js 下载地址: http://nodejs.cn/download/ 下载对应自己操作系统的版本安装即可. 2.安装 angu ...

  5. Angular7教程-02-Angular项目目录及基本文件说明

    本教程基于Angular7,更新时间2018-11-05. 1. 项目根目录如下: e2e文件夹:end to end,测试目录,主要用于集成测试. node_modules:项目的模块依赖目录. s ...

  6. 在angular7中创建组件/自定义指令/管道

    在angular7中创建组件/自定义指令/管道 组件 使用命令创建组件 创建组件的命令:ng generate component 组件名 生成的组件组成: 组件名.html .组件名.ts.组件名. ...

  7. ASP.NET Core Web API + Angular 仿B站(一) 目的分析以及创建 WebAPI + Angular7 项目

    前言: 本系列文章主要为对所学 Angular 框架的一次微小的实践,对 b站页面作简单的模仿. 本系列文章主要参考资料: 微软文档: https://docs.microsoft.com/zh-cn ...

  8. Angular7环境搭建报错

    昨天写的2019年Angular7——安装搭建路由方法不太正统,今天又去翻了下angular官网,跟着上面的环境搭建与部署走了一遍 从安装@angular/cli命令行工具开始 本篇主要记录下搭建过程 ...

  9. 2019年Angular7——安装搭建路由

    Angular 中文官方:https://www.angular.cn/ 为什么要看Angular?我也不知道,因为公司有个Angular的项目要维护.听说Angular的版本已经到7了.以前没怎么玩 ...

  10. angular6 升级到 angular7+ 最新Ng-zorro

    angular7 出来有一段时间了,然后我们项目一直用的是angular6, 看到一直再用的Ng-Zorro 更新版本了,然后就觉得把目前的项目也升级一下把. 目前我本地cli版本是6.0.8我要把他 ...

随机推荐

  1. php常用数组array函数实例总结【赋值,拆分,合并,计算,添加,删除,查询,判断,排序】

    本文实例总结了php常用数组array函数.分享给大家供大家参考,具体如下: array_combine 功能:用一个数组的值作为新数组的键名,另一个数组的值作为新数组的值 案例: <?php ...

  2. jar包的MANIFEST.MF文件

    打包可执行jar包时,MANIFEST.MF总是个让人头疼的东西,经常出现这种那种问题. 一个例子: ================================================= ...

  3. springboot2+freemarker简单使用

    一.src/main/resources/templates下新建welcome.ftl <!DOCTYPE html> <html lang="en"> ...

  4. Linux内存管理 (12)反向映射RMAP

    专题:Linux内存管理专题 关键词:RMAP.VMA.AV.AVC. 所谓反向映射是相对于从虚拟地址到物理地址的映射,反向映射是从物理页面到虚拟地址空间VMA的反向映射. RMAP能否实现的基础是通 ...

  5. Linux内存管理 (16)内存规整

    专题:Linux内存管理专题 关键词:内存规整.页面迁移.pageblock.MIGRATE_TYPES. 内存碎片的产生:伙伴系统以页为单位进行管理,经过大量申请释放,造成大量离散且不连续的页面.这 ...

  6. Linux内存管理 (22)内存检测技术(slub_debug/kmemleak/kasan)

    专题:Linux内存管理专题 关键词:slub_debug.kmemleak.kasan.oob.Redzone.Padding. Linux常见的内存访问错误有: 越界访问(out of bound ...

  7. 5-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案数据篇(配置保存数据的数据库)

    配置信息如下:这是我的python软件和APP软件默认连接的配置 数据库名称:iot        编码utf8 表格名字:historicaldata 字段 id      自增,主键 date   ...

  8. 科大讯飞语音合成api

    import base64import jsonimport timeimport hashlibimport requests # API请求地址.API KEY.APP ID等参数,提前填好备用a ...

  9. hadoop用户写入文件权限不够的问题

    问题: 普通用户echo写入文件,提示权限不够. 解决方式: sudo tee test.txt <<< "要插入内容"

  10. MySql下实现先排序后分组

    最近在工作中遇到一个先排序后分组的需求,发现MySql不同的版本有不同的结果,特此记录. 举例:要求在shop表中查询出各类型商店中价格最高的商品. --表结构-- create table `sho ...