【发布时间】:2017-07-17 21:55:29
【问题描述】:
我想在同一页面重用我的组件,但是我无法根据我正在处理的单选按钮来定义我的单选按钮的值。
我有三个共享组件,但我不知道如何区分它们。我的意思是,如果我处理第一个,我不希望其他 2 个组件被修改。 我使用“剧烈”模式解决了问题,我想做得更好。任何建议将不胜感激。
这是我的html代码:
<div class="ui form">
<div class="inline fields">
<label for="fruit">Send to:</label>
<div class="field">
<div class="ui radio checkbox">
<input type="radio" name="radio{{A}}{{B}}" value="selected" [(ngModel)]="option">
<label>Send Selected</label>
</div>
</div>
<div class="field">
<div class="ui radio checkbox">
<input type="radio" name="radio{{A}}{{B}}" value="all" [(ngModel)]="option">
<label>Send All</label>
</div>
</div>
</div>
</div>
我正在做的方式是声明值 A 和 B,它们是布尔值,但我认为解决它的方法不好。
他的组件中的变量是:
@Input() A: boolean;
@Input() B: boolean;
@Input() C: boolean;
private option: string = 'selected';
有什么方法可以改进这个解决方案吗? :
name="radio{{A}}{{B}}"
【问题讨论】:
-
您是否为组件定义了输入?如果您共享您的组件并希望在使用共享组件时有所作为,您需要定义一些输入以使其与众不同。比如你想要不同的组件名称,你需要为名称定义输入,并将输入绑定到视图。
-
我不明白你,因为我有一个独特的组件共享3次,所以我不能给他们定义一个“id”。我对变量布尔值进行了输入。
-
能否展示一下你的独特组件的代码以及你的组件的用途?
标签: angular data-binding radio-button components shared