Я пишу все свои компоненты в новом формате MVC ExtJS, используя Ext.define ()
.
Я немного борюсь за определение свойств внутри initComponent ()
или просто установив их, например property: 42,
.
Существуют ли общепринятые передовые методы?
Я колеблюсь между использованием initComponent ()
только тогда, когда необходимо (например, когда я хочу что-то динамическое или установить область видимости), что делает функцию короче и избавляет меня от некоторых уродливых this.
s, и всегда использовать ее, что дает то преимущество, что мне никогда не придется перемещать прежние свойства initComponent ()
просто потому, что я хочу сделать его более динамичным.
К сожалению, в документации Sencha об этом мало что говорится, и доступные примеры, похоже, делают то, что им нужно.
Личная практика, я буду объявлять переменные в области свойств, когда переменные
x
, y
, width
, height
title
, saveBtnTxt
, url
, fields
, iconCls
Тогда я объявлю items
, listeners
, this.on
, Ext.apply(me, {..})
или что-нибудь, что требует объема объекта (this
, me
), чтобы сижу внутри моего initComponent
. Или вещи, которые должны быть изменены / переопределены до того, как все будет установлено, чтобы пользователь не сломал мой компонент, переопределив некоторые важные переменные.
РЕДАКТИРОВАТЬ
Что касается уродливого this
, я широко использовал переменную me
в своем приложении, и она выглядит намного чище, чем this
]. Это также помогает мне менять прицелы реже.