版本:

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值的更多相关文章

  1. Vue自定义指令获取DOM元素

    我们知道,Vue.js的核心是数据驱动,当数据有所变化时,DOM就会被更新,比如: <span v-text="msg"></span> export de ...

  2. vue 获取dom的css属性值

    <template> <div id="topInfo" ref="topInfo" style="width: 200px;hei ...

  3. attr prop jquery关于获取DOM属性值的两个函数

    $('#domid').attr('acitve') $('#domid').prop('checked') // 在使用JQUERY获取DOM元素的属性时,有两个函数,attr 和 prop < ...

  4. C# 如何获取自定义的config中节点的值,并修改节点的值

    现定义一个方法 DIYConfigHelper.cs using System; using System.Xml; using System.Configuration; using System. ...

  5. (四)Jsoup 获取 DOM 元素属性值

    第一节: Jsoup 获取 DOM 元素属性值 Jsoup获取DOM元素属性值 比如我们要获取博客的href属性值: 我们这时候就要用到Jsoup来获取属性的值 : 我们给下示例代码: package ...

  6. vue 组件传递值以及获取DOM元素的位置信息

    1.父组件 select_li.vue 1.1 父组件模板 <template> <div id='selectLi' ref="selectLi"> &l ...

  7. 获取get值&DOM例题

    获取get值: <body>        <form action="9.26获取get值.html" method="get">   ...

  8. vue(4)—— vue的过滤器,监听属性,生命周期函数,获取DOM元素

    过滤器 vue允许自定义过滤器,我个人认为,过滤器有两种,一种是对数据的清洗过滤,一种是对数据切换的动画过滤 数据切换的动画过滤 这里还是利用前面的动态组件的例子: 这里由于没办法展示动画效果,代码如 ...

  9. html 跳转页面传参、点击获取DOM参数

    虽然现在前端框架已经很多,尤其是几大流行框架,比如Vue,React,Angular 等,已经去DOM化,但是还是有很多公司仍在使用 HTML + CSS + JS . 这里记载一下用到的HTML传参 ...

随机推荐

  1. 漫谈边缘计算(三):5G的好拍档

    边缘计算的热度迅速攀升,还有一个不得不提的因素,就是5G的发展. [5G推动云计算从集中化向分布式演进] 在第一篇文章(<漫谈边缘计算(一):边缘计算是大势所趋>)中我提到,传统的云计算技 ...

  2. 转:Spring配置文件<context:property-placeholder>标签使用漫谈

    <context:property-placeholder>标签提供了一种优雅的外在化参数配置的方式,不过该标签在Spring配置文件中只能存在一份!!! 众所周知,Spring容器是采用 ...

  3. KETTLE教程实战

    kettle初探 Kettle简介:Kettle是一款国外开源的ETL工具,纯java编写,可以在Window.Linux.Unix上运行,数据抽取高效稳定.Kettle 中文名称叫水壶,该项目的主程 ...

  4. Cannot forward after response has been committed问题的解决

    Cannot forward after response has been committed问题解决及分析 通过TOMCAT把系统启动,可以正常登陆门户,登陆进去选择子系统的时候点击登陆的时候,可 ...

  5. [TimLinux] JavaScript 如何在html标签的data-*属性使用JSON数据

    1. HTML data-*属性 H5引入的data-*属性,可以在JavaScript通过.dataset.*的方式来获取属性的值,例如: /* HTML标签: * <input id=&qu ...

  6. Coderforces-455A

    Alex doesn't like boredom. That's why whenever he gets bored, he comes up with games. One long winte ...

  7. XCode项目配置

    此设置优先级在playersetting之上,如果为空或者格式不正确或者文件不存在将不会设置,请注意 一.设置面板 二.对应Xcode中设置 1.TeamID  登录苹果开发者网站,查看个人信息,就有 ...

  8. Spring面试题总结及答案

    Spring面试总结 Spring是什么? Spring框架是一个java平台,提供全面基础设施支持开发java应用程序. Spring的主要模块有哪些? Spring Code:基础模块,主要提供I ...

  9. Orleans[NET Core 3.1] 学习笔记(三)( 1 )本地开发配置

    本地开发配置 本地开发和调试的时候,我们可能不需要去关注集群和网络ip端口.所以对于本地开发模式,Orleans给了我们比较简单的配置方式. Silo配置 在本地开发的配置模式下,Orleans会默认 ...

  10. VS Code 成主宰、Vue 备受热捧!2019 前端开发趋势必读

    前端在生产和开发中占据着越来越重要的地位,PC 端.手机端.桌面端.智能手表端等等设备都离不开前端的身影.本文将围绕框架.编程语言.工具.React.Vue 等方面,全面回顾 2019 年前端与 We ...