首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从指令中添加指令

从指令中添加指令
EN

Stack Overflow用户
提问于 2017-03-30 19:43:35
回答 2查看 80关注 0票数 0

我有一个指令来决定是否需要输入,蒙面,等等.我遇到了需要向其添加一个新指令的情况:基本上,这个新指令将掩码特性添加到输入中。

代码语言:javascript
复制
<input type="text" formInput [rules]="rules"  [(ngModel)]="value" />

这是formInput指令:

代码语言:javascript
复制
export class DefaultFormInputDirective {

@Input() private rules;
private el: ElementRef;

constructor(el: ElementRef) {
    this.el = el;
}

ngOnInit() {
    this.defineRules();
}

defineRules() {

    if(this.rules == undefined) {
        return;
    }

    if(this.rules.indexOf('required') != -1) {
        this.el.nativeElement.required = true;
    }

    if(this.rules.indexOf('numeric') != -1) {
        // Here is where I need to add currencyMask directive
    }

}

}

这是我正在使用的包:https://www.npmjs.com/package/ng2-currency-mask

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-03-30 20:17:42

在大多数情况下,我建议将属性直接添加到输入中,因为对我来说,这似乎要复杂得多。

无论如何,为了实现这一点,您可以创建某种类型的输入抽象组件,该组件将接受类似type这样的输入,将与ngModel一起工作(例如,您可以找到更多关于此这里这里的信息),并将包含任何属性和指令所需的任何输入。

所以最后看起来可能是这样的:

<custom-input type="text" formInput [rules]="rules" [(ngModel)]="value"></custom-input>

然后,您可以隐藏在这个组件中实际输入的逻辑:分配所需的属性、指令和许多其他需要的东西。

票数 0
EN

Stack Overflow用户

发布于 2017-03-30 20:14:34

不支持动态添加指令。只能动态添加/删除组件。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43127013

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档