我是新來的es6,打字稿和Angular2的東西,我試過指令的例子。它看起來像下面..Angular2是否可以注入並創建實例或相同?
import { Directive, ElementRef, Input, Renderer } from '@angular/core';
@Directive({ selector: '[myHighlight]' })
export class HighlightDirective {
constructor(el: ElementRef, renderer: Renderer) {
renderer.setElementStyle(el.nativeElement, 'backgroundColor', 'green');
}
}
,我曾嘗試以下變種,但如我所料不工作..
import { Directive, ElementRef, Input, Renderer } from '@angular/core';
@Directive({ selector: '[myHighlight]' })
export class HighlightDirective {
constructor() {
console.log(new ElementRef())
//renderer.setElementStyle(el.nativeElement, 'backgroundColor', 'green');
}
}
也試過這個..
import { Directive, ElementRef, Input, Renderer } from '@angular/core';
@Directive({ selector: '[myHighlight]' })
export class HighlightDirective {
constructor(ElementRef, Renderer) {
console.log(new ElementRef())
//renderer.setElementStyle(el.nativeElement, 'backgroundColor', 'green');
}
}
我沒有得到el:ElementRef語法和創建正常對象實例的差異新ElementrRef ..請解釋其背後的差異和邏輯和EL:在正常或ES6 JS ElementRef關係和等價..預先:)
您是否將模板文件包含在app.component.ts中,還是忘記將其導入到app.module聲明中? – Mohanavel
朋友,我已經包括..這不是問題在這裏..第一個代碼示例正在工作,但爲什麼第二個和第三個不以同樣的方式工作..代碼示例之間有什麼區別..在第一個代碼示例究竟是什麼(el:ElementRef,renderer:Renderer)這一行正在做什麼..? – shivaraj