2016-09-14 7 views
0

タイプスクリプトプロジェクト(イオニック2)にはUserインターフェイスがあります。その変数の1つにタイプとして2つのオプションが必要です。私が書かれたもののタイプの異なるいくつかのオブジェクト - タイプスクリプト

例:

import { Component } from '@angular/core'; 
import { NavController } from 'ionic-angular'; 
import { User } from '../../interfaces/user/user'; 

@Component({ 
    templateUrl: 'build/pages/profile-edit/profile-edit.html', 
}) 
export class ProfileEditPage { 
    public user: User; 

    constructor(private navCtrl: NavController) { 
     // Here i have red error underline, under the "centimeters" 
     this.user.height.centimeters = 4; 
    } 
} 

エラーがあります:それ以外の場合には[ts] Property 'centimeters' does not exist on type 'UsHeightUnits | NotUsHeightUnits'.

export interface User { 
    _id: string, 
    usUnits: boolean, 
    height?: UsHeightUnits | NotUsHeightUnits 
}; 

interface UsHeightUnits { 
    feets?: number, 
    inches?: number 
} 

interface NotUsHeightUnits { 
    centimeters?: number 
} 

この私にすべてのエラーを起こさないが、エラーが別のファイルで提供されます|(または)これは、この場合のように文字列を使用し、オブジェクトではなく正常に動作します:

export interface User { 
    _id: string, 
    gender: 'male' | 'female' 
}; 

提案?

答えて

関連する問題