angular4指令在HTML SPAN标记内不起作用
我已经用angular4编写了一个指令,它在输入字段上工作。 当我在SPAN标记上应用该选项时,它不起作用。 我们可以在SPAN标签上应用这些指令吗,或者有什么解决方法吗angular4指令在HTML SPAN标记内不起作用,html,angular,Html,Angular,我已经用angular4编写了一个指令,它在输入字段上工作。 当我在SPAN标记上应用该选项时,它不起作用。 我们可以在SPAN标签上应用这些指令吗,或者有什么解决方法吗 <span dirTemp>45789</span> 解决方法:span没有值,但有innerText或innerHTML。因此,在ngOnInit上,您可以执行以下操作: ngOnInit() { if(this.el.tagName.toUpperCase() !== 'INPUT')
<span dirTemp>45789</span>
解决方法:
span
没有值
,但有innerText
或innerHTML
。因此,在ngOnInit
上,您可以执行以下操作:
ngOnInit() {
if(this.el.tagName.toUpperCase() !== 'INPUT') {
// Apply your tranform here:
var originalValue = this.el.innerText;
this.el.innerText = this.cPipe.transform(originalValue);
}
}
您能添加一些代码以便我们能更好地帮助您吗?我添加了我的指令,可能需要添加另一个hostlistener。我正在将该指令应用于表中的一列。默认情况下,TD值在范围内不会触发
focusout
。您应该发布您的html结构,以获得更多关于您正在尝试的内容的上下文do@Pierre好啊我的html非常简单,在一个表中,我有45789@user1015388您已经在构造函数中定义了它<代码>this.el=this.elementRef.nativeElement代码>我试图使用它,this.el.innerText提供空值是的,我发现我的值在SPAN标记中是动态的,在{{}中。所以它是空的。如何获取tatI我需要使用afterviewchecked,因为我的数据在视图完成后呈现。谢谢
ngOnInit() {
if(this.el.tagName.toUpperCase() !== 'INPUT') {
// Apply your tranform here:
var originalValue = this.el.innerText;
this.el.innerText = this.cPipe.transform(originalValue);
}
}