Sup*_*miu 6 angular2-directives angular
我有一个基本要素:
<div>
I'm a basic element
</div>
Run Code Online (Sandbox Code Playgroud)
我想创建一个允许我写这个的指令:
<div resizable-top>
I'm a basic element
</div>
Run Code Online (Sandbox Code Playgroud)
并呈现这个:
<div resizable-top>
<div> drag me to resize element </div>
I'm a basic element
</div>
Run Code Online (Sandbox Code Playgroud)
所以,基本上我做了一个指令:
@Directive({
selector: '[resizable-top]',
host: {
'(mousedown)':'onMouseDown()',
'(mousemove)':'onMouseMove()',
'(mouseover)':'onMouseOver()'
}
})
export class ResizableDirective{
constructor(private el:ElementRef){
}
onMouseDown(){
//TODO
}
onMouseMove(){
//TODO
}
onMouseOver(){
//TODO
}
}
Run Code Online (Sandbox Code Playgroud)
问题是我不知道如何使用创建子元素el,我希望事件在子元素上绑定,而不是在实际元素上绑定.
由于ElementRef.nativeElement类型anyI我无法找出我可以用来实现我想要的方法/属性.
el.nativeElement如果选择器包含否则为HtmlUnknownElement,则返回HTMLElement-
Angular的做法是无论如何都要使用Renderer类ElementRef.
constructor(private el:ElementRef, private renderer:Renderer){
}
Run Code Online (Sandbox Code Playgroud)
并使用它提供的方法.
这使您的应用程序WebWorker和服务器端呈现安全.
| 归档时间: |
|
| 查看次数: |
3491 次 |
| 最近记录: |