我有这样的问题SO post但我的可重用选择组件也通过服务从服务器获取数据。angular2 - 可重用组件 - 如何获取选择框的初始值?
我可以得到事件的变化,使用ngClass等...一切都很好的组件。唯一的问题是,我想获得选择的初始值,并不知道如何。
初始值应该是这个对象是什么,我想获得:
selectedEnvironment = this.staging; //Intial Value
我可以添加一个“请选择”来强制改变,但我不什么做
下面是我把我的选择
{{selectedEnvironment | json}}
<environment (change)="onChange($event)" [useForm]="false"></environment>
所以{{selectedEnvironment的HTML | json}}在加载时为空,但在更改时显示对象。默认属性设置..我只是不知道它是什么。
我试着使用:
[(ngModel)]="selectedEnvironment"
,但我得到这个错误:
platform-browser.umd.js:962 ORIGINAL EXCEPTION: No value accessor for ''
所以从我的构造
下面是该组件的HTML:
<select [(ngModel)]="selectedEnvironment" (ngModelChange)="onChange($event)"
[ngClass]="{'form-control': useForm}"
class="custom-select">
<option [ngValue]="i" *ngFor="let i of environments">{{i.name}}</option>
</select>
实现' ControlValueAccessor'像解释在http://stackoverflow.com/questions/37384373/angular-2-add-control-to-parent-components-form/37384802#37384802 –