2017-09-15 42 views
2

我有一個字段是一個JSON對象的類,我需要顯示此JSON到一個文本。所以我創建了一套set/get方法來處理這個問題。使用GET /上NgModule集綁定angular4

我的類別:

class Element { 

property: string; 
value: string; 

    constructor(property: string,value: string){ 

    this.property = property; 
    this.value = value; 
    } 
} 

class Model { 

    elements: Element[]; 

    constructor(elements?: Element) { 
     this.elements = elements; 
    } 

    get elementsValue() { 
     return JSON.stringify(this.elements, null, 2); 
    } 
    set elementsValue(value: string) { 
     this.elements = JSON.parse(value); 
    } 

} 

我的組分:

@Component({ 
     selector: 'my-app', 
     providers: [], 
     template: ` 
     <div *ngFor="let model of models"> 
      <textarea [(ngModel)]='model.elementsValue' rows="30" cols="120"></textarea> 
     </div> `, 
     directives: [] 
    }) 
    export class App { 

     models = [ 
      new Model([new Element("test","value"),new Element("test","value")]), 
      new Model() 
     ] 
    } 

elementsValue值未綁定到textarea的。 textarea的是空

我使用this Plank作爲模板。

+0

您是否收到錯誤?更具體的發生了什麼?是否有可能改變Plunker來展示*你的問題。這會幫助我們幫助你。 – DeborahK

+0

Plunker不是我的。我將它用作模板 – theShadow89

+0

是的,但是您可以單擊左上角的按鈕來分叉,然後添加代碼。如果我們可以在正在運行的plunker環境中看到您的代碼,那將會更容易幫助您。 – DeborahK

回答

0
<div *ngFor="object of objects"> 

嘗試

<div *ngFor="let object of objects"> 
+0

我已經使用'let' – theShadow89

0

constructorModel類預期只是一個單一的Element作爲參數。嘗試將該參數更改爲一組元素

constructor(elements?: Element[]) { 
    this.elements = elements; 
}