У меня есть вопрос относительно производительности, надежности и метода лучшей практики использования обновления Extjs () метод, по сравнению с прямым обновлением innerHTML dom элемента Расширения.
Рассмотрите эти два оператора:
Ext.fly('element-id').dom.innerHTML = 'Welcome, Dude!';
и
Ext.fly('element.id').update('Welcome, Dude!', false);
Я не должен eval()
любой сценарий, и я уверен это update()
учитывает любые причуды браузера.
Кроме того, делает любой знает при использовании:
Ext.fly('element-id').dom.innerHTML
совпадает с
d.getElementById('element-id').innerHTML
?
Совместимость браузера и совместимость платформ важны, и если эти два являются существенно тем же, то отказ Ext.element.dom.innerHTML
в целом для update()
вероятно, было бы мое лучшее решение.
Заранее спасибо за Вашу справку,
Brian
Если вам не нужно динамически загружать сценарии в свой обновленный HTML или обрабатывать обратный вызов после обновления, то два метода, которые вы изложили, эквивалентны. Основная часть кода в Обновление ()
Добавляет сценарий загрузки и возможности обратных заходов. Внутри он просто устанавливает InnerHTML, чтобы сделать замену контента.
Ext.fly (). DOM
Возвращает простое узел DOM, поэтому да, он эквивалентен результату getElementbyId ()
в терминах узла, который указывает на. Единственная тонкость, чтобы понять, это разница между ext.fly () и ext.get (). Ext.fly () Возвращает общий экземпляр объекта узел обертки (излучения). Таким образом, этот экземпляр может позже указать на другой узел за кулисами, если какой-либо другой код вызывает Ext.fly (), включая внутренний код Ext. Таким образом, результат вызова на Ext.fly () следует использовать только для атомных операций, и не используется только в качестве долгоживающего объекта. Ext.get (). DOM
С другой стороны, возвращает новый уникальный экземпляр объекта, и в этом смысле будет больше похоже на GetElementByID ().
Я думаю, что вы ответили на свой вопрос: «Браузер и совместимость на платформе важны, и если два принципиально одинаковы, то качалки Ext.Element.dom.innerHTML в целом для обновления (), вероятно, будет моим лучшим Решение. " библиотеки Js предназначены (частично) в абстрактные различия браузера; Обновление является примером.
@BMoeskau пишет выше, обновите () предоставляет дополнительные функции, которые вам не нужно правильно для вашей текущей проблемы. Тем не менее, обновление - хороший выбор.