在我的世界各地的interweb,现在特别是
angular.io style docs,我发现许多引用@HostBinding和@HostListening。看来他们是相当根本的,但不幸的是,他们的文档目前是有点粗略。
任何人都可以解释他们是什么,他们如何工作,并举一个他们的用法的例子?我真诚地从我的心深处承诺,我已经搜索Interweb的例子,但没有找到任何有效的阐明。
这里是一个基本的悬停例子。
原文链接:/angularjs/145809.html组件的模板属性:
template: ` //attention,we have the c_highlight class. //c_highlight is the selector property value of the directive <p class="c_highlight"> Some text. </p> `
我们的指令:
import {Component,HostListener,Directive,HostBinding} from '@angular/core'; @Directive({ //this directive will work only if the DOM el has the c_highlight class selector: '.c_highlight' }) export class HostDirective { //we could pass lots of thing to the HostBinding function. //like class.valid or attr.required etc. @HostBinding('style.backgroundColor') c_colorrr = "red"; @HostListener('mouseenter') c_onEnterrr() { this.c_color= "blue" ; } @HostListener('mouseleave') c_onLeaveee() { this.c_colorrr = "yellow" ; } }