2017-12-27 10 views
0

複雑なJSONオブジェクトのクラスではなくインターフェイスを使用してモデルを作成する必要があります。複雑なJSONオブジェクトのためのAngularjs 2のインターフェイスを使用してモデルを作成する方法

コンパイルエラーを取り除く手助けをしてください。 ICTCompanyDetailsインターフェイスでAddressインターフェイスを拡張しようとしています。しかし、コンポーネントでモデルを作成している間。それは私にコンパイルエラーを与えている。

インターフェースは、以下のとおりです。

import { ICTAddress    } from '../../../generic/address'; 
    export interface ICTCompanyDetails extends ICTAddress{ 
    ct_company_id      :string; 
    ct_company_owner_name    :string; 
    ct_company_name      :string; 
    ct_company_address     :ICTAddress[]; 
    ct_company_email_id     :string; 
    ct_company_mobile_no    :string; 
    ct_company_phone_no     :string; 
    ct_company_gst_no     :string; 
    ct_company_pan_no     :string; 
    ct_company_website     :string; 
    ct_company_sac_code     :string; 
    ct_company_logo_name    :string; 
    //ct_company_logo      :File; 
    ct_company_digital_sign_stamp_name :string; 
    //ct_company_digital_sign_stamp  :File; 
    ct_company_term_condition   :string; 
    ct_company_revoke     :string; 
    ct_company_status     :string; 
    ct_company_last_update_datetime  :Date; 
    ct_company_last_update_ip   :string; 
    ct_company_last_update_login_id  :string; 
    } 
     export interface ICTAddress{ 
     ct_address_id :string; 
     ct_address_1 :string; 
     ct_address_2 :string; 
     ct_address_3 :string; 
     ct_country  :string; 
     ct_state  :string; 
     ct_town_n_city :string; 
     ct_postal_code :string; 
     } 

Model is: 

company: ICTCompanyDetails = { 
     ct_company_id      : "", 
     ct_company_owner_name    : "", 
     ct_company_name      : "", 
     ct_company_address     : ICTAddress [ 
      ct_address_id :"", 
      ct_address_1 :"", 
      ct_address_2 :"", 
      ct_address_3 :"", 
      ct_country  :"", 
      ct_state  :"", 
      ct_town_n_city :"", 
      ct_postal_code :"", 
     ], 
     ct_company_email_id     : "", 
     ct_company_mobile_no    : "", 
     ct_company_phone_no     : "", 
     ct_company_gst_no     : "", 
     ct_company_pan_no     : "", 
     ct_company_website     : "", 
     ct_company_sac_code     : "", 
     ct_company_logo_name    : "", 
     //ct_company_logo: new File([], ""), 
     //ct_company_logo      :new Blob([], { type: '' }), 
     ct_company_digital_sign_stamp_name : "", 
     //ct_company_digital_sign_stamp: new File([], ""), 
     //ct_company_digital_sign_stamp  :new Blob([], { type: '' }), 
     ct_company_term_condition   : "", 
     ct_company_revoke     : "", 
     ct_company_status     : "", 
     ct_company_last_update_datetime  : new Date(), 
     ct_company_last_update_ip   : "", 
     ct_company_last_update_login_id  : "" 
    }; 

答えて

0

が、私は結果を得た:

ct_company_address     : [ 
    { ct_address_id : '' }, 
    { ct_address_1 : '' }, 
    { ct_address_2 : '' }, 
    { ct_address_3 : '' }, 
    { ct_country  : '' }, 
    { ct_state  : '' }, 
    { ct_town_n_city : '' }, 
    { ct_postal_code : '' } 
] as ICTAddress[], 

フルバージョン:

https://plnkr.co/edit/bcjMU9eVcWOnO7tIcqhV?p=preview

+0

同じコンポーネントの両方のインターフェイスでエクスポートを使用している場合、コンパイルエラーはありません。しかし、これらの2つのインタフェースをインポートしている場合、ct_address_idプロパティがないことを示すコンパイルエラーが表示されます。 –

+0

ありがとうございます。私は拡張kewordを削除しました –

0

使用コンポーネントでこのコード:

company: ICTCompanyDetails = { 
     ct_company_id      : "", 
     ct_company_owner_name    : "", 
     ct_company_name      : "", 
     ct_company_address     : [ 
      ct_address_id :"", 
      ct_address_1 :"", 
      ct_address_2 :"", 
      ct_address_3 :"", 
      ct_country  :"", 
      ct_state  :"", 
      ct_town_n_city :"", 
      ct_postal_code :"", 
     ], 
     ct_company_email_id     : "", 
     ct_company_mobile_no    : "", 
     ct_company_phone_no     : "", 
     ct_company_gst_no     : "", 
     ct_company_pan_no     : "", 
     ct_company_website     : "", 
     ct_company_sac_code     : "", 
     ct_company_logo_name    : "", 
     //ct_company_logo: new File([], ""), 
     //ct_company_logo      :new Blob([], { type: '' }), 
     ct_company_digital_sign_stamp_name : "", 
     //ct_company_digital_sign_stamp: new File([], ""), 
     //ct_company_digital_sign_stamp  :new Blob([], { type: '' }), 
     ct_company_term_condition   : "", 
     ct_company_revoke     : "", 
     ct_company_status     : "", 
     ct_company_last_update_datetime  : new Date(), 
     ct_company_last_update_ip   : "", 
     ct_company_last_update_login_id  : "" 
    }; 

私はちょうど編集したct_company_address。 お待ちしています。それを固定する際

+0

をそれが動作していない、まだコンパイルエラーが –

+0

あなたがエラーであなたの質問を更新してくださいすることができています。 –

関連する問題