首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自动引用模板中的组件?

自动引用模板中的组件?
EN

Stack Overflow用户
提问于 2018-12-05 15:41:14
回答 1查看 36关注 0票数 0

我正在使用Range6开发一个web应用程序。是否可以引用模板中使用的组件(本例中是我的custom-component),如本例所示:

代码语言:javascript
复制
<custom-component #select
   name="name1"
   title="Select first option"
   [(ngModel)]="select.value"

>
</custom-component>

如您所见,[(ngModel)]属性具有值select.value。这个值是CustomComponent的一个属性(总是需要连接到ngModel)。为了引用它,我使用了#select,但我想知道是否有其他方式或关键字允许我使用value属性,而无需在模板中的自定义组件的每次使用中使用#select装饰器。

EN

回答 1

Stack Overflow用户

发布于 2018-12-05 15:44:39

您可以在自定义组件上使用ngModelControlValueAccessor

custom-componen类中扩展ControlValueAccessor

代码语言:javascript
复制
export class CustomComponent implements  , ControlValueAccessor { 

    onChange = (val: string) => { };
    onTouched = () => { }; 

    writeValue(val: string): void { 
       // value passed from parent throug ngModel will come under this funtion
    }

    registerOnChange(fn: (val: string) => void): void {
        this.onChange = fn;
    }

    registerOnTouched(fn: () => void): void {
        this.onTouched = fn;
    } 

    ngOnInit() {
    } 

    // If you want to emit value to parent use the onChange function
    myEmitFunction(){
        this.onChange("value u want to emit")
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53635849

复制
相关文章

相似问题

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