Angular7
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的更多相关文章
- Angular7上手体验
准备工具 Node.js Angular requires Node.js version 8.x or 10.x. 查看当前你的node版本可以在CMD中输入 node -v npm -v 开发工具 ...
- Angular7.1.4+Typescript3.1框架学习(一)
起因:学习ionic4之前先学习下angular+ts 以win10为开发平台:当前最新版本为angular7;根据官网资料做如下总结: 1. angular安装 前提:Node.js 的 8.x 或 ...
- 【前端开发工具】WijmoJS 2018 v3 正式发布,全面支持Angular7
WijmoJS(前端开发工具包)2018年度第三个大版本已经正式发布,本次更新除了全面支持Angular7之外,还允许用户使用Web Workers在前端更高效地导出PDF.智能的分组表头属性.全新的 ...
- Angular7教程-01-Angular开发环境配置
本教程基于angular7(2018-11-04) 1. 安装node.js 下载地址: http://nodejs.cn/download/ 下载对应自己操作系统的版本安装即可. 2.安装 angu ...
- Angular7教程-02-Angular项目目录及基本文件说明
本教程基于Angular7,更新时间2018-11-05. 1. 项目根目录如下: e2e文件夹:end to end,测试目录,主要用于集成测试. node_modules:项目的模块依赖目录. s ...
- 在angular7中创建组件/自定义指令/管道
在angular7中创建组件/自定义指令/管道 组件 使用命令创建组件 创建组件的命令:ng generate component 组件名 生成的组件组成: 组件名.html .组件名.ts.组件名. ...
- ASP.NET Core Web API + Angular 仿B站(一) 目的分析以及创建 WebAPI + Angular7 项目
前言: 本系列文章主要为对所学 Angular 框架的一次微小的实践,对 b站页面作简单的模仿. 本系列文章主要参考资料: 微软文档: https://docs.microsoft.com/zh-cn ...
- Angular7环境搭建报错
昨天写的2019年Angular7——安装搭建路由方法不太正统,今天又去翻了下angular官网,跟着上面的环境搭建与部署走了一遍 从安装@angular/cli命令行工具开始 本篇主要记录下搭建过程 ...
- 2019年Angular7——安装搭建路由
Angular 中文官方:https://www.angular.cn/ 为什么要看Angular?我也不知道,因为公司有个Angular的项目要维护.听说Angular的版本已经到7了.以前没怎么玩 ...
- angular6 升级到 angular7+ 最新Ng-zorro
angular7 出来有一段时间了,然后我们项目一直用的是angular6, 看到一直再用的Ng-Zorro 更新版本了,然后就觉得把目前的项目也升级一下把. 目前我本地cli版本是6.0.8我要把他 ...
随机推荐
- mybatis 错误
org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.TooManyR ...
- OllyDbg使用笔记
[TOC] OD步过后,返回到之前某位置,重新单步执行 找到你想返回的行, 右键选择New origin here,快捷键Ctrl+Gray *, 然后程序会返回到这一行,再次按F7或者F8等执行即可
- Java HttpClient4.5.2发送post请求示例
public static Map<String, Object> invokeCapp(String URL, Map paramMap) throws Exception { Map ...
- linux下开启、关闭、重启mysql服务命令
一. 启动1.使用 service 启动:service mysql start2.使用 mysqld 脚本启动:/etc/inint.d/mysql start3.使用 safe_mysqld 启动 ...
- mysql查看存储过程函数
查询数据库中的存储过程和函数 select `name` from mysql.proc where db = 'xx' and `type` = 'PROCEDURE' //存储过程 ...
- 操作docker容器
Docker容器时镜像的一个运行实例,而镜像是静态的只读文件,容器带有运行时需要的可写文件层.如果认为虚拟机是模拟运行的一整套操作系统(包括内核.应用运行的环境和其他系统环境)和跑在上面的应用,那么D ...
- 【XSY3154】入门多项式 高斯消元
题目大意 给你一个 \(n\times n\)的矩阵 \(A\),求次数最小且最高次项为 \(1\) 的多项式 \(F(x)\),满足 \(F(A)=0\). 所有操作都对 \(p\) 取模. \(n ...
- magento2 - Invalid credentials for 'https://repo.magento.com/packages.json', aborting.
错误如下: 登陆:https://developer.magento.com/找到路径-创建公钥与私钥: Developer Portal -> My Access Keys -> Cre ...
- ovs之组网实验
介绍 本示例将创建两个OVS实例和两个主机,其中每个OVS上接入一个主机,OVS实例之间有链路连接,形成一个链状拓扑,如图.在OVS组网完成之后,再通过手动方式添加流表,实现网络通信,从而验证实验可行 ...
- Dynamic Rankings ZOJ - 2112(主席树+树状数组)
The Company Dynamic Rankings has developed a new kind of computer that is no longer satisfied with t ...