Angular 如何在不同的应用程序中为角度库中的按钮使用不同的标签?
我有一个名为lib survey的库,它使用Angular Formly并有一个按钮来查看调查Angular 如何在不同的应用程序中为角度库中的按钮使用不同的标签?,angular,angular-library,Angular,Angular Library,我有一个名为lib survey的库,它使用Angular Formly并有一个按钮来查看调查 <div class="row-xs-12"> <div class="col-xs-12"> <formly-form #formly [options]="options" [model]="surveyModel"
<div class="row-xs-12">
<div class="col-xs-12">
<formly-form
#formly
[options]="options"
[model]="surveyModel"
[fields]="currentFormlyFields"
(modelChange)="modelChange($event)"
[form]="form.form">
</formly-form>
<button
class="btn btn-primary"
type="submit"
(click)="openReview()"> Review </button>
</div>
</div>
复习
这个库在多个应用程序中使用,就像这样
<lib-survey
[appType]="app1"
[appId]="1"
</lib-survey>
这是一个典型的角度上的父子通信用例。因此,您可以在此场景中使用@Input
装饰器
在按钮的组件.ts
中声明一个变量
@Input buttonLabel: string;
在HTML中,只需使用相同的标签插入按钮名称
<div class="row-xs-12">
<div class="col-xs-12">
<formly-form
#formly
[options]="options"
[model]="surveyModel"
[fields]="currentFormlyFields"
(modelChange)="modelChange($event)"
[form]="form.form">
</formly-form>
<button
class="btn btn-primary"
type="submit"
(click)="openReview()">{{ buttonLabel }} </button>
</div>
</div>
{{buttonLabel}}
现在,无论何时使用button组件,也只需传递buttonLabel的名称
<lib-survey
[appType]="app1"
[appId]="1"
[buttonLabel]="Something"
</lib-survey>