내가 같은 다른 선택과 형태가 int로. 불행하게도 최대한 빨리 속성이 문자열로 캐스팅 선택의 값의 변화에 따라 :각도 2 캐스트를 선택 값은
{
isConnected : "0", // 0 expected
}
표준 <input>
의 경우를 나는 type="number"
를 사용할 수 있지만 <select>
위해 나는 우둔입니다.
각도 2로 데이터를 int로 강제 변환하는 방법이 있습니까?
내가 같은 다른 선택과 형태가 int로. 불행하게도 최대한 빨리 속성이 문자열로 캐스팅 선택의 값의 변화에 따라 :각도 2 캐스트를 선택 값은
{
isConnected : "0", // 0 expected
}
표준 <input>
의 경우를 나는 type="number"
를 사용할 수 있지만 <select>
위해 나는 우둔입니다.
각도 2로 데이터를 int로 강제 변환하는 방법이 있습니까?
아니요, 슬프게도 select
에서 항상 문자열을 가져 오기 때문에 슬프게도 formChanged()
메서드에서 직접 구문 분석해야합니다.
이 같은 뭔가를 시도해 볼 수도 있습니다 :
formChanged(): void {
selected.isConnected = parseInt(selected.isConnected);
// ...
}
당신이 (당신은 아직 제공하지 않은 경우) formChanged() 방법 내에서 캐스팅합니다. 다음과 같이 당신은
formChanged(): void {
selected.isConnected = +selected.isConnected;
...
}
당신이 선택하고 그 선택 요소에 대한 값을 지정하는 숫자 변수를 보낼 수 + 기호를 사용해야합니다. 그런 다음 값이 변경 될 때 값을 캡처하려면 이벤트를 추가 (변경)하여 아래 표시된 값을 선택하고 검색 할 수 있습니다.
import { Component } from '@angular/core';
@Component({
selector: 'my-app',
template: `<select value="{{isConnected}}" (change)="printConnected($event.target.value)" name="etat" id="etat" class="form-control">
<option value="0">Not connected</option>
<option value="1">Connected</option>
</select>
<div *ngIf="changed">You've selected {{isConnected}}<div>`
})
export class AppComponent {
isConnected : number = 1;
changed : boolean = false;
printConnected(value){
this.isConnected = value;
this.changed=true;
}
}
당신은 http://plnkr.co/edit/xO2mrTdpTGufkgXqdhYD?p=preview에서 예를 볼 수 있습니다
당신이'formChanged()'방법을 보여 주시겠습니까? – micronyks
ng-options를 사용하십시오. 중첩 된 옵션을 사용하면 모델이 항상 문자열로 설정됩니다. 그것이 문서화되어 있습니다. –
ng-option은 Angular2에 없습니다. 아마도 [value] 대신 [ngValue]를 사용하는 것일 수도 있습니다. – abreneliere