Как заставить повторный рендеринг компонента в угловом 2? Для целей отладки, работающих с Redux, я хотел бы заставить компонент повторно отобразить его представление, возможно ли это?Как принудительно перепрофилировать компонент в угловом 2?
ответ
рендеринга происходит после обнаружения изменений. Для того, чтобы заставить обнаружения изменений, так что компонент значения свойств, которые изменились получить распространяющееся в DOM (а затем браузер отображает эти изменения в представлении), вот несколько вариантов:
- ApplicationRef.tick() - аналогичны Угловой 1-х
$rootScope.$digest()
- т. е. проверить полное дерево компонентов - NgZone.run(callback) - аналогично
$rootScope.$apply(callback)
- т. е. оценить функцию обратного вызова внутри зоны углового 2. Я думаю, но я не уверен, что это завершает проверку полного дерева компонентов после выполнения функции обратного вызова. - ChangeDetectorRef.detectChanges() - аналогично
$scope.$digest()
- то есть проверить только этот компонент и его потомков
Вы можете впрыснуть ApplicationRef
, NgZone
или ChangeDetectorRef
в компонент.
Для вашего конкретного сценария я бы рекомендовал последний вариант, если изменился только один компонент.
попробуйте все из них, но все еще не работают на ios, – vuhung3990
Любой рабочий код на ChangeDetectorRef для окончательной версии angular2? Теперь я сталкиваюсь с ситуацией, когда представление не обновляется после запроса на пост http для создания нового пользователя, а затем при успешном нажатии нового объекта на существующий старый список пользователей (используется для итерации в поле зрения). Весьма странно, что «это первый раз, когда я сталкиваюсь с обновлением, которое не работает в ng2». Стратегия обнаружения изменений по умолчанию, поэтому я знаю, что я не испортил стратегию обнаружения изменений. – Gary
@Gary, вы должны опубликовать новый вопрос и включить свой компонент и код обслуживания (в идеале, включить минимальный плункер, демонстрирующий проблему). Общей проблемой, которую я видел, не является использование надлежащего контекста 'this' в обратном вызове POST. –
ТЕ, нашел обходной путь мне нужно:
constructor(private zone:NgZone) {
// enable to for time travel
this.appStore.subscribe((state) => {
this.zone.run(() => {
console.log('enabled time travel');
});
});
работает zone.run вынудит компонент для повторной визуализации
Что такое appStore в этом контексте - какая переменная и ее тип? кажется наблюдаемым ... но мой наблюдаемый внутри компонента, который я хочу обновить одним нажатием кнопки ... и я не знаю, как получить доступ к методу/переменной дочернего компонента из родительского/текущего местоположения –
- 1. Кэш-компонент в угловом 2
- 2. Как визуализировать компонент подкласса в угловом 2?
- 3. Как отображать компонент в угловом 2?
- 4. Создайте динамический компонент в угловом 2
- 5. создать многоразовый компонент в угловом 2
- 6. как вернуть объект из службы в компонент в угловом 2?
- 7. Как загрузить компонент программно в один div в угловом 2
- 8. Подкомпоненты в Угловом 2
- 9. Как назвать компонент несколько раз в Угловом 2
- 10. Как активировать компонент в угловом 2 без посещения компонента
- 11. Как добавить опции конфигурации devextreme автозаполнения компонент в угловом 2
- 12. Как расширить компонент с помощью инъекции зависимостей в угловом 2?
- 13. Как правильно подключить компонент NG2-Datepicker в угловом 2 приложения
- 14. Трубы. компоненты впрыскивания в компонент в угловом 2
- 15. Простой компонент выпадающего списка в угловом формате 2
- 16. Можно ли сделать самозакрывающийся компонент в угловом 2?
- 17. Как определить изменение атрибута в угловом 2?
- 18. Как обновить ElementRef в угловом 2
- 19. Возможно ли вручную создать компонент в угловом 2
- 20. Как поднять событие в Угловом 1.5 Компонент
- 21. элемент Обновление в угловом 2
- 22. как использовать @CanActivate в угловом 2
- 23. Как сохранить состояние в угловом 2?
- 24. Динамический стильУгли в угловом 2?
- 25. Компоненты связи в Угловом 2
- 26. Двусторонний связывания в угловом 2
- 27. Как использовать ампулы амбратов в угловом 2?
- 28. Как настроить базовую маршрутизацию в угловом 2?
- 29. Кнопки в угловом 2
- 30. Компонентное взаимодействие в Угловом 2 RC5
Что вы подразумеваете под «повторным рендерингом». Обновить привязки? –
Просто быстрый вопрос, почему вам нужно принудительно повторить рендеринг? –
Возможный дубликат [Triggering Angular2 change detection вручную] (http://stackoverflow.com/questions/34827334/triggering-angular2-change-detection-manually) – blo0p3r