Могу ли я узнать, были ли изменены какие-либо свойства потомков моего объекта? Могу ли я подписаться на какое-то событие, которое меня заметит?Использование Angular2 Механизм обнаружения изменений
-1
A
ответ
0
Если они @Input() myProp
, то вы можете реализовать ngOnChanges(changes)
и пожаротушения с использованием @Output()
, но для этого вам нужно подготовить свои деканданты.
@Component({
selector: 'child-cmp'
}) {
export class Child {
@Input() fooInput:string;
@Input() barInput:number;
@Output() changes:EventEmitter = new EventEmitter();
ngOnChanges(changes) {
this.changes.emit(changes);
}
}
<child-cmp (changes)="childChangesHandler($event)">
События, испускаемые @Output()
с не пузырь, поэтому вы получите только уведомления о прямых детей. Если вам нужно это для большего количества уровней, используйте общую службу.
Смежные вопросы
- 1. Обновление шаблона обнаружения изменений в Angular2
- 2. Angular2 Событие для обнаружения изменений для директивы
- 3. Механизм обнаружения углового 2
- 4. Механизм обнаружения расширения файлов
- 5. Использование котировок F # для обнаружения изменений кода
- 6. контрольная сумма обнаружения изменений
- 7. Использование наблюдаемых в Dart for Angular2 обнаружение изменений
- 8. Angular2 механизм за обновлением массива
- 9. Debug Angular2 Измеритель изменений
- 10. angular2 @input - обнаружение изменений
- 11. Понимание изменений Angular2 событие
- 12. livequery для обнаружения изменений dom
- 13. Как отличаются стратегии обнаружения изменений?
- 14. обнаружения изменений выбора в WebView
- 15. (Closed) BindingSource обнаружения изменений вопрос
- 16. Сброс обнаружения изменений исходного файла
- 17. Быстрый алгоритм обнаружения изменений изображения
- 18. MySQL триггер для обнаружения изменений
- 19. Использование VB.NET для обнаружения изменений в веб-странице
- 20. Использование кодировки base64 в качестве механизма для обнаружения изменений
- 21. Использование протоколов для обнаружения изменений значений в UISegmentedControl
- 22. Использование класса и WithEvents для обнаружения изменений в текстовых окнах
- 23. Angular2 Обнаружение изменений с помощью зон
- 24. Механизм обнаружения приговора не работает в Stanbol
- 25. Наиболее эффективный метод обнаружения/мониторинга изменений DOM?
- 26. Angular2: Изменение времени обнаружения директивы автоматической прокрутки
- 27. Имеет ли secelize встроенный механизм отслеживания изменений?
- 28. Предотвратить родное событие браузера (как свиток) от стрельбы обнаружения изменений
- 29. NSNotification - правильный выбор для обнаружения изменений?
- 30. Функция обнаружения изменений в упорядоченном списке
Ваш ответ хорош для компонентов, но мой вопрос был о объекте/модели. Если у меня сложная модель, например. Школа-> комнаты-> стулья , и мой пользователь меняет название конкретного кресла. Могу ли я узнать, что моя школьная модель была изменена? Я предполагаю, что мне нужно будет проверить его каждую проверку ngOnChanges()? – almog
Тогда я не вижу, как ваш вопрос связан с Angular2. Можете ли вы добавить код, который показывает, что вы на самом деле пытаетесь выполнить? В классах вы можете добавить 'Rx.Subject' (потому что' EventEmitter' не рекомендуется использовать для чего-либо, кроме '@Outputs()'. Затем реализовать свои свойства как getter/setter и запустить событие в 'set' –
. моя проблема не специфична для Angular2, но я надеялся, что, возможно, у Angular2 будет решение для этого. – almog