Для создания любого свойства Prop необходимо в описании приложения либо в html коде указать тип данного свойства.
При инициализации приложение определит тип данного свойства и на основании его создаст объект Prop.
Если тип свойства является стандартным событием например "click", 'mouseup' и т. д., то к нему будет присоединен обработчик события который необходимо создать
в объекте method для данного контейнера в описании приложения.
Если тип свойства является пользовательским событием, то также как и для обычного события создается обработчик.
В обработчиках событий оператор this
- указывает на данный конкретный экземпляр Prop, а далее с помощью навигации можно переходить к любым другим свойствам относительно данного.
Методы setProp("newProp")
, getProp()
и removeProp()
работают по разному в зависимости от типа свойства.
Перечень всех типов:
тип data - т. к. в данных с типом дата после знака = идут какие либо данные, то для создания данного типа после имени массива или контейнера пишется имя data а далее уже какие либо данные, например: data-page-data_name="какие либо данные", здесь тип данных определяется по имени свойства оно всегда должно начинаться с data после названия контейнера.
Атрибуты: 'alt', 'disabled', 'href', 'id', 'src', 'style', 'title'.
Типы стандартных событий: 'click', 'keydown', 'dblclick', 'contextmenu', 'selectstart', 'mousewheel', 'mousemove', 'mouseout', 'mouseover', 'mouseup', 'mousedown', 'keypress', 'keyup', 'focus', 'blur', 'change', 'reset', 'select', 'submit', 'abort', 'change'.
тип aux - вспомогательный метод ["имя_метода
", "aux"] в описании приложения объявляется в массиве свойств - props
, и также как для обработчика событий для него указывается метод в объекте methods
. this
в нем указывает на контейнер либо массив (если он объявлен в свойствах массива). Может принимать параметры и возвращать значение. В уже созданном компоненте (контейнере или массиве) он будет доступен в объекте methods
контейнера или массива (в объекте props
его не будет). Объявлять можно только с помощью массива ["имя_метода
", "aux"], в html разметку, не добавляется. Наследуется по тому-же принципу как и обычные свойства.