У меня есть компонент, который отображает список «элементов», которые являются компонентами, созданными с помощью селектора. У меня есть флажок, который я хочу, при нажатии, чтобы обновить «состояние» всех дочерних компонентов.Угловые 2 Детские компоненты обнаруживают изменения в родительском
Im действительно изо всех сил пытается найти правильное решение для этого. Для получения дополнительной информации см. Plunkr.
//our root app component
import {Component, EventEmitter} from 'angular2/core'
class Item {
name: boolean;
constructor(name: string) {
this.name = name;
}
}
@Component({
selector: 'my-item',
template: `
<div>
<label><input type="checkbox" [(ngModel)]="state"/> {{state}}</label>
</div>
`
})
export class MyItemComponent {
state: boolean = false;
}
@Component({
selector: 'my-app',
template: `
<div style="border: 1px solid red;">
<label><input type="checkbox" [(ngModel)]="state"/> {{state}}</label>
</div>
<div *ngFor="#item of items">
<my-item></my-item>
</div>
`,
directives: [MyItemComponent]
})
export class App {
state: boolean = true;
items: Item[] = [];
constructor() {
this.items.push(new Item("hello"));
this.items.push(new Item("test"));
}
}
Мне не нужно, чтобы обнаружить изменения в массиве. Мне просто нужны дочерние компоненты, чтобы иметь возможность обнаруживать изменения родительского состояния «логическое». – samsamm777
Тогда это тот же принцип, но вам не нужен срез и 'ngOnChanges()' –
ok, спасибо за ваш вклад. Теперь я рассмотрел его, используя «свойства» Компонента. – samsamm777