首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >访问组件4+的角NgModel指令

访问组件4+的角NgModel指令
EN

Stack Overflow用户
提问于 2018-01-11 16:20:56
回答 1查看 401关注 0票数 1

由于NgModel.control状态,我正在尝试更改样式。因为我想把它弄干,所以我认为一个指令读取组件NgModel状态就能做到这一点。

这可能吗?却找不到任何关于怎么做的暗示。

我的想法是这样写的:

代码语言:javascript
复制
<div class="fields">
    <app-dummy-selector name="dummy" 
        [(ngModel)]="dummy" required appValidationError>
    </app-selector-moneda>
</div>

然后,我的指令定义如下

代码语言:javascript
复制
@Directive({
  selector: '[appValidationError]'
})
export class validationError {
  // do some logic to add Styles via Renderer2 or ElementRef
  // based on NgNodel control state 
  constructor(private el: ElementRef, private renderer: Renderer2) { }

}

为了澄清UPDATE,我想避免的是避免像这样添加#ctrl="ngModel" [ngClass]="{ error: (ctrl.invalid) && ctrl.touched }"

代码语言:javascript
复制
<div class="fields">
    <app-dummy-selector name="dummy" 
        #ctrl="ngModel" [ngClass]="{ error: (ctrl.invalid) && ctrl.touched }" 
        [(ngModel)]="dummy" required appValidationError>
    </app-selector-moneda>
</div>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-11 16:32:23

您可以在主机上插入 NgControl 以访问控件。

代码语言:javascript
复制
constructor(@Host() private ngControl: NgControl) { }

至于处理错误的,您的问题似乎是关于在您的更新后,我可以建议以下两个包。(完全公开,他们是我的。)

它是用来处理像你这样的案件,以减少样板。

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

https://stackoverflow.com/questions/48211619

复制
相关文章

相似问题

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