angular8自定义管道、指令以及获取dom值
版本:
1、自定义管道:
example: 定义一个*ngFor 可以获取key值的管道
keyObject.pipe.ts
// key value 管道
import { Pipe, PipeTransform } from '@angular/core'; @Pipe({
name: 'getKeys'
}) export class keyValue implements PipeTransform {
transform(value, args: string[]): any {
let keys = [];
for (let key in Object.keys(value)) {
console.log(key);
keys.push({ key: key, value: value[key] });
}
return keys;
}
} // 使用操作
/*
step 1
app.module.ts 引入
import { keyValue } from './common/keyObject.pipe';
@NgModule({
declarations: [
keyValue,
],
step 2
// 循环的时候使用
// 原始值[{name: '', point: ''}]
// 转换的值[{key:0 , value:{name: '', point: ''}}]
<div *ngFor="let item of chipsList | getKeys">{{item.value.name}}<input type="number" step="0.01" min="0"
[value]="item.value.point" (change)="this.changeValue(item.key);" class="inputClass" /></div> */
2、自定义指令:
example:定义一个移入标签高光显示的指令
highLight.ts
// highlight指令
import { Directive, ElementRef, HostListener, Input } from '@angular/core'; @Directive({ selector: '[appHighlight]' }) export class HighlightDirective { @Input('appHighlight') highlightColor: string; //highlightColor是appHighlight指令的别名 constructor(private el: ElementRef) {
// el.nativeElement.style.backgroundColor = 'yellow';
}
private highlight(color: string) {
this.el.nativeElement.style.backgroundColor = color;
}
@HostListener('mouseenter') onMouseEnter() {
this.highlight(this.highlightColor);
} @HostListener('mouseleave') onMouseLeave() {
this.highlight(null);
}
} // 使用操作
/*
step 1
app.module.ts 引入
import {HighlightDirective} from './common/highLight';
@NgModule({
declarations: [
HighlightDirective,
],
step 2
对某标签使用高光
this.color = 'yellow'; // ts文件定义颜色
<p [appHighlight] = "color"></p> */
3、使用原生html dom的内容
example: 获取input框的value值
原来的写法:document.getElementsByClassName('inputClass')[index]).value 值可以获取到,但是控制台会输出error,而且打包会失败
正确的写法:<HTMLInputElement>document.getElementsByClassName('inputClass')[index]).value 这样也可以获取到值,控制台没有error,打包也不会报错
同理 获取image 的src 属性 <HTMLImageElement>
angular8自定义管道、指令以及获取dom值的更多相关文章
- Vue自定义指令获取DOM元素
我们知道,Vue.js的核心是数据驱动,当数据有所变化时,DOM就会被更新,比如: <span v-text="msg"></span> export de ...
- vue 获取dom的css属性值
<template> <div id="topInfo" ref="topInfo" style="width: 200px;hei ...
- attr prop jquery关于获取DOM属性值的两个函数
$('#domid').attr('acitve') $('#domid').prop('checked') // 在使用JQUERY获取DOM元素的属性时,有两个函数,attr 和 prop < ...
- C# 如何获取自定义的config中节点的值,并修改节点的值
现定义一个方法 DIYConfigHelper.cs using System; using System.Xml; using System.Configuration; using System. ...
- (四)Jsoup 获取 DOM 元素属性值
第一节: Jsoup 获取 DOM 元素属性值 Jsoup获取DOM元素属性值 比如我们要获取博客的href属性值: 我们这时候就要用到Jsoup来获取属性的值 : 我们给下示例代码: package ...
- vue 组件传递值以及获取DOM元素的位置信息
1.父组件 select_li.vue 1.1 父组件模板 <template> <div id='selectLi' ref="selectLi"> &l ...
- 获取get值&DOM例题
获取get值: <body> <form action="9.26获取get值.html" method="get"> ...
- vue(4)—— vue的过滤器,监听属性,生命周期函数,获取DOM元素
过滤器 vue允许自定义过滤器,我个人认为,过滤器有两种,一种是对数据的清洗过滤,一种是对数据切换的动画过滤 数据切换的动画过滤 这里还是利用前面的动态组件的例子: 这里由于没办法展示动画效果,代码如 ...
- html 跳转页面传参、点击获取DOM参数
虽然现在前端框架已经很多,尤其是几大流行框架,比如Vue,React,Angular 等,已经去DOM化,但是还是有很多公司仍在使用 HTML + CSS + JS . 这里记载一下用到的HTML传参 ...
随机推荐
- 漫谈边缘计算(三):5G的好拍档
边缘计算的热度迅速攀升,还有一个不得不提的因素,就是5G的发展. [5G推动云计算从集中化向分布式演进] 在第一篇文章(<漫谈边缘计算(一):边缘计算是大势所趋>)中我提到,传统的云计算技 ...
- 转:Spring配置文件<context:property-placeholder>标签使用漫谈
<context:property-placeholder>标签提供了一种优雅的外在化参数配置的方式,不过该标签在Spring配置文件中只能存在一份!!! 众所周知,Spring容器是采用 ...
- KETTLE教程实战
kettle初探 Kettle简介:Kettle是一款国外开源的ETL工具,纯java编写,可以在Window.Linux.Unix上运行,数据抽取高效稳定.Kettle 中文名称叫水壶,该项目的主程 ...
- Cannot forward after response has been committed问题的解决
Cannot forward after response has been committed问题解决及分析 通过TOMCAT把系统启动,可以正常登陆门户,登陆进去选择子系统的时候点击登陆的时候,可 ...
- [TimLinux] JavaScript 如何在html标签的data-*属性使用JSON数据
1. HTML data-*属性 H5引入的data-*属性,可以在JavaScript通过.dataset.*的方式来获取属性的值,例如: /* HTML标签: * <input id=&qu ...
- Coderforces-455A
Alex doesn't like boredom. That's why whenever he gets bored, he comes up with games. One long winte ...
- XCode项目配置
此设置优先级在playersetting之上,如果为空或者格式不正确或者文件不存在将不会设置,请注意 一.设置面板 二.对应Xcode中设置 1.TeamID 登录苹果开发者网站,查看个人信息,就有 ...
- Spring面试题总结及答案
Spring面试总结 Spring是什么? Spring框架是一个java平台,提供全面基础设施支持开发java应用程序. Spring的主要模块有哪些? Spring Code:基础模块,主要提供I ...
- Orleans[NET Core 3.1] 学习笔记(三)( 1 )本地开发配置
本地开发配置 本地开发和调试的时候,我们可能不需要去关注集群和网络ip端口.所以对于本地开发模式,Orleans给了我们比较简单的配置方式. Silo配置 在本地开发的配置模式下,Orleans会默认 ...
- VS Code 成主宰、Vue 备受热捧!2019 前端开发趋势必读
前端在生产和开发中占据着越来越重要的地位,PC 端.手机端.桌面端.智能手表端等等设备都离不开前端的身影.本文将围绕框架.编程语言.工具.React.Vue 等方面,全面回顾 2019 年前端与 We ...