Разница между «applyTo» и «contentEl» в extJS - PullRequest
3 голосов
/ 14 октября 2010

В чем разница между applyTo и contentEl в extJS?Это два свойства конфигурации панели.

Ответы [ 2 ]

7 голосов
/ 14 октября 2010

applyTo визуализирует панель в целевой элемент (тело панели может по-прежнему содержать любое содержимое), contentEl использует целевой элемент в качестве содержимого своего тела (панель все равно можно отобразить в любой другой элемент).Два метода не связаны.

Редактировать : просто обратите внимание, что с Ext 4.0+ конфигурация applyTo больше не существует.Со временем стратегия декларативного / прогрессивного улучшения стала менее жизнеспособной для Ext (она так или иначе не была полностью поддержана во всех компонентах), и они, наконец, прекратили ее поддерживать.Вы всегда будете использовать renderTo сейчас (для программной визуализации целевого элемента), тогда как contentEl все еще действует и по-прежнему указывает элемент, из которого можно извлечь контент и добавить его.в тело панели. contentEl наиболее полезно, когда у вас есть какой-то HTML-код на странице, который вы хотите отобразить внутри компонента Panel без необходимости воспроизводить разметку содержимого в коде JS.

Пока яздесь, я полагаю, я уточню кое-что еще ... Важно понимать, что renderTo обычно используется только самым верхним контейнером в макете приложения.Все дочерние компоненты всегда должны быть добавлены как items в Контейнер - рендеринг дочерних компонентов непосредственно к целевому элементу через renderTo означает, что эти компоненты не будут участвовать в системе макетов Ext-Managed, котораякак правило, вы НЕ хотите в приложении.

Другое отличие состоит в том, что каждый компонент в Ext поддерживает renderTo, но только определенные компоненты (наиболее полезные Panel) будут уважать contentEl значимым образом.Даже если contentEl определено для AbstractComponent, большинство компонентов не предназначены для обработки произвольного содержимого HTML.

0 голосов
/ 13 декабря 2012

Как правило, applyTo использует указанный элемент в качестве основного элемента компонента, в то время как contentEl предназначен только для панелей, которые просто перемещают указанный элемент в тело Panel, когда Panel отображается для использования в качестве содержимого!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...