我正在尝试将服装属性指令设置为输入,但我无法找到方法。
我的指示如下
@Directive({
selector: '[disable-paste]'
})
export class DisablePaste {
constructor(private _elementRef:ElementRef) {
this._elementRef.nativeElement.onpaste = (e:any) => {
e.preventDefault();
}
}
}
如果我只是将指令放在输入中,它就可以了。但是,当我试图“有条件地”使用它时,却没有。 我尝试了所有这些:
<input [disable-paste]="doNotAllowPaste" ... />
<input disable-paste="doNotAllowPaste" ... />
<input [attr.disable-paste]="doNotAllowPaste" ... />
答案 0 :(得分:3)
我认为只要输入属性值发生变化,您就需要一个输入属性才能有条件地执行逻辑:
# Usage: largest [dir]
largest() {
local f size largest
while read -rd '' f; do
size=$(wc -c < "$f")
if (( size > largest[0] )); then
largest=("$size" "$f")
fi
done < <(find "${1-.}" -type f -print0)
printf '%s is the largest file in %s\n' "${largest[1]}" "${1-.}"
}
答案 1 :(得分:1)
你想试试这个:
template <typename T, typename Type>
class A
{
typedef Type MyType;
};
template <typename T>
class B : public A<B<T>, T>
{
};
如果使用@Directive({
selector: '[disable-paste]'
})
export class DisablePaste {
@Input('disable-paste')
disablePaste:any;
constructor(private _elementRef:ElementRef) {
this._elementRef.nativeElement.onpaste = (e:any) => {
e.preventDefault();
}
}
}
,您将获得与指定表达式的评估相对应的对象。没有它们,就是一个字符串值。