![](/img/trans.png)
[英]How to define global variables in Angular 2 in a way that I can use them for property binding in templates?
[英]How can I bind 2 variables inside 1 property binding in angular 2?
我正在嘗試從我的 json 數據動態生成和使用表單控件。 我想出一個簡單的實驗來找出我需要應用的機制,如下所示。
類中定義的變量
demoA: string = 'name';
demoB: Array<string> = ['city', 'state'];
demoC: FormGroup = new FormGroup({});
用於從demoA
和demoB
獲取屬性並轉換為FomControl
loadStuff(){
let a = this.demoA;
let b = this.demoB;
let ab: Array<string> = [];
ab.push(a);
b.forEach( bb => {ab.push(bb)} );
console.log(ab);
ab.forEach( ctrl => this.demoC.addControl(ctrl, new FormControl('')) );
console.log( this.demoC.value );
}
現在demoC
的價值是
demoC: {name:'', city:'', state:''}
由於我在組件加載時即時創建它,因此沒有預定義的方法可以綁定到它,這讓我想知道我是否可以在輸入的綁定中綁定到它這樣的東西
<input type="text" [(ngModel)]="demoC.{{demoA}}" />
當然那沒有用,也沒有用
<input type="text" [(ngModel)]="demoC.[demoA]" />
<input type="text" [(ngModel)]="demoC.[(demoA)]" />
<input type="text" [(ngModel)]="demoC.(demoA)" />
<input type="text" [(ngModel)]="(demoC)+'.'+(demoA)" />
<input type="text" [(ngModel)]="[(demoC)+'.'+{{demoA}}]" />
<input type="text" [(ngModel)]="('demoC.'+{{demoA}})" />
<input type="text" [(ngModel)]="['demoC.'+{{demoA}}]" />
<input type="text" [(ngModel)]="['demoC.'+[demoA]]" />
<input type="text" [(ngModel)]="[('demoC.')+[demoA]]">
如果我希望結果是demoC.name
我該怎么做?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.