@input üzerinde geçiş değildir:Angular2 form alanı çok basit bir form var Angular2 yılında değişken
Form.ts bu Plunkr gösterildiği gibi
import {Component, Input} from 'angular2/core'
@Component({
selector: 'my-form',
providers: [],
template: `
<form>
{{ details }}
<input type="text" placeholder="name" />
<input *ngIf="details" type="text" placeholder="details" />
</form>
`,
directives: []
})
export class MyForm {
@Input() details: bool;
constructor() {
}
}
, ben details
geçiş @ Düğme aracılığıyla giriş, metin doğru ve yanlış arasında değişir.
Ancak *ngIf
, metin alanını hiç değiştirmiyor.
Burada neleri özlediğim hakkında bir fikrin var mı?
App.ts
import {Component} from 'angular2/core'
import {MyForm} from './form'
@Component({
selector: 'my-app',
providers: [],
template: `
<div>
<button (click)="toggle()">toggle details</button>
<my-form details="{{visible}}"></my-form>
</div>
`,
directives: [MyForm]
})
export class App {
visible: boolean = false;
constructor() {
this.name = 'Angular2'
}
toggle() {
this.visible = !this.visible;
}
}
Küçük bir soru daha: Formumun 100 örneğini ve her düğmenin eşleşen metin kutusunu değiştirmesini isteyin. Bunun için en iyi uygulama nedir? Https://plnkr.co/edit/n8TZjpQgjg1YH7TefPkM?p=preview –
adresinde bir Plunkr örneği oluşturdum. "Alt bileşenin girdisini enterpolasyon kullanarak görünür ifadenin değeriyle basitçe başlatırsınız. Ancak alt bileşeniniz kazandı" güncellemeleri görün. " -- Doğru değil. Çocuk bileşeni, {{}} 'bağlayıcı kullanıldığında güncellemeleri görecektir. Bu sadece '{{template_expression}} 'bağlama, her zaman _template_expression_ öğesini bir dizeye dönüştürür, sonra bu string sonucu giriş özelliğine atanır. Günter'in cevabı. –