Typescript 指令选择器不';找不到元素
当我将选择器更改为Typescript 指令选择器不';找不到元素,typescript,angular,Typescript,Angular,当我将选择器更改为'input'时,它会在它能找到的每个输入上工作。如果我将其更改为'input[numeric]'什么也不会发生(是的,input[numeric]确实存在)。 我做错了什么?它不是应该这样工作吗?文档中说CSS选择器 import {Directive, ElementRef} from '@angular/core'; import {NgModel} from '@angular/common'; @Directive({ selector: 'input[nu
'input'
时,它会在它能找到的每个输入上工作。如果我将其更改为'input[numeric]'
什么也不会发生(是的,input[numeric]
确实存在)。
我做错了什么?它不是应该这样工作吗?文档中说CSS选择器
import {Directive, ElementRef} from '@angular/core';
import {NgModel} from '@angular/common';
@Directive({
selector: 'input[numeric]',
host: {
'(input)' : 'onInputChange()'
}
})
export class NumberFormatDirective {
constructor(public model: NgModel, public element: ElementRef) {
console.log(1);
}
onInputChange(): any {
console.log(2);
}
}
模板如下所示:
<input *ngIf='!isMultiLine()'
[attr.readonly]='readonly'
[attr.disabled]='isInputDisabled()'
[attr.minlength]='minLength'
[attr.maxlength]='maxLength'
[attr.numeric]='isNumeric()'
[(ngModel)]='value' (ngModelChange)='valueChanged($event)'
(keyup.enter)='updateValueRestore()'
(keyup.escape)='resetValue()'
(focus)='onFocus()'
(blur)='onBlur()'
autocomplete='off'/>
检查
plnkr.co/edit/VFRqjipiFFJqYdnSIM49?p=预览
它按预期工作。检查 plnkr.co/edit/VFRqjipiFFJqYdnSIM49?p=预览
正如预期的那样工作。输入[numeric]的“真的存在”看起来是什么样子的?我添加了html代码,我认为它应该工作。你能在Plunker中复制吗?它按预期工作。我添加了模板代码。也许你也可以看看。因为属性是动态添加的,所以不能找到元素吗?输入[numeric]的“真的存在”看起来是什么样子?我添加了html代码,我认为它应该可以工作。你能在Plunker中复制吗?它按预期工作。我添加了模板代码。也许你也可以看看。由于属性是动态添加的,因此无法找到元素?答案应直接包含基本部分,而不是仅链接到外部资源。链接可能会过时。答案应该直接包含基本部分,而不仅仅是链接到外部资源。链接可能会过时。