Angular 在NgModule绑定角度4上使用get/set

Angular 在NgModule绑定角度4上使用get/set,angular,typescript,Angular,Typescript,我有一个类,它的一个字段是JSON对象,我需要将这个JSON显示到一个textarea中。所以我创建了一个set/get方法来处理这个beavior 我的班级: class Element { property: string; value: string; constructor(property: string,value: string){ this.property = property; this.value = value; } } class M

我有一个类,它的一个字段是JSON对象,我需要将这个JSON显示到一个textarea中。所以我创建了一个set/get方法来处理这个beavior

我的班级:

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
值未绑定到文本区域。文本区域是空的

我已将其用作模板。


<div *ngFor="object of objects">
试一试


模型
类中,您的
构造函数
只需要一个
元素
作为参数。尝试将该参数更改为元素数组

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

你有错误吗?更具体的情况是什么?是否有可能更改Plunker以显示您的问题。那会有助于我们帮助你,那辆车不是我的。我已经将其用作模板了是的,但是您可以单击左上角的按钮来分叉plunker,然后添加代码。如果我们可以在正在运行的plunker的上下文中看到您的代码,那么就更容易帮助您了。您的rapidPage变量在哪里?我看不到对Objects变量的任何引用。检查类似的问题:是否必须使用get/set属性?当您执行“newmodel()”时,您并不是在创建“Object”(Object)的瞬间;解决方案是,使用模型中的属性创建适当的“Object”,而不是执行json字符串化或解析。
constructor(elements?: Element[]) {
   this.elements = elements;
}