无论出于何种原因,我都无法为此问题选择任何angular4标签。我正在使用Angular 4。
我已经创建了一个属性指令:
import { Directive, ElementRef } from '@angular/core';
@Directive({
selector: '[SpDatePicker]'
})
export class DatepickerDirective {
constructor(public element: ElementRef) {
console.log(element.nativeElement);
}
}
但如果我尝试使用它,我会收到以下错误:
无法绑定到'SpDatePicker',因为它不是'div'的已知属性。
用法:
<div [SpDatePicker]></div>
如果我将选择器声明更改为:
selector: '.spdatepicker'
并使用以下HTML:
<div class="spdatepicker"></div>
工作正常。我看了the docs,看不出我做错了什么。有人能告诉我吗?
我创建了Plunker来证明这个问题。
答案 0 :(得分:2)
对于属性指令,您不需要[]
,这会导致角度考虑SpDatePicker
为@Input property
div
。
正如@Maximus所评论的那样,您仍然可以通过在指令中添加[SpDatePicker]
来使用@Input() SpDatePicker
。
Plunker demo(两者都有)。