Angular 在NgModule绑定角度4上使用get/set
我有一个类,它的一个字段是JSON对象,我需要将这个JSON显示到一个textarea中。所以我创建了一个set/get方法来处理这个beavior 我的班级: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
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;
}