2017-05-29 84 views
0

我想創建嵌套的對象,如下角2:接口

myForm value: 
{ 
    "name": { 
     "firstname":"abc", 
     "lastname":"xyz" 
    }, 
    "address": { 
    "street": "assdasdasdsa", 
    "postcode": "8000" 
    } 
} 

在界面中,有選項來指定字符串,數字數組類型語法創建對象

我想下面的選擇,但(從SO解決辦法和其他人並沒有幫助)

export interface Customer { 
    name: { 
    firstname: string; 
    lastname: string; 
}; 
    addresses: Address[]; 
} 

export interface Address { 
    street: string; 
    postcode: string; 
} 

能否請您提供選項來指定的obj沒有運氣,它是拋出Error「錯誤錯誤:無法與名稱查找控制」如上所述?

https://embed.plnkr.co/hQ6RtzCfPosfQl4HlbZQ/ Plunker-

在角1,很容易與範圍對象並使用NG-模型爲 「myForm.name.firstname」

Codepen在angular1試圖 - https://codepen.io/nagasai/pen/mmYgbr和試圖複製在相同angular 2

+0

Plunker工作正常? – Alex

+0

是的,Plunker url正常使用名稱作爲字符串,我試圖改變它作爲不工作的對象 –

+0

以及爲'Name'創建一個新接口:export interface Name {firstname:string; lastname:string}'address:'export interface地址{street:string; postcode:string;}'和customer:'export interface Customer {name:Name; addresses:Address []}' – Alex

回答

1

您的TS中有一個表格組name,其中包含表格控件firstnamelastname。您已經忘記將其應用於您的模板。所以,你需要formGroupName包裹表單控件:

<div formGroupName="name"> <!-- Here --> 
    <div class="form-group"> 
    <label>Name</label> 
    <input type="text" class="form-control" formControlName="firstname"> 
    <input type="text" class="form-control" formControlName="lastname"> 
</div> 

Forked Plunker

+0

謝謝AJT,它的效果很棒.... :)不知道該downvote :)對於這個問題:( –

+0

很高興聽到它解決了!好吧,你從我得到upvote; P有一個愉快的一天/晚上/晚上和快樂的編碼!:) – Alex

+1

非常感謝AJT :) –