@@ -75,6 +75,7 @@ export class Component {
75
75
context {object} контекст для параметра 'var' и вызовов 'also'
76
76
text {string} добавить в textContent
77
77
html {string} добавить в innerHTML
78
+ attr {object} добавить аттрибуты
78
79
class {string} добавить в className
79
80
also {function} - вызвать с текущим компонентом: { ... , also(el) { console.log(el); }, }
80
81
export {array} - положить в 0 ячейку указанного массива
@@ -83,6 +84,7 @@ export class Component {
83
84
parent - {Element} добавляет компонент к указанному элементу (имеет смысл только для корневого компонента)
84
85
style {string | object} объект в виде { padding: '0px', ... } или строка css стилей
85
86
children - массив DOM, Component, object, html string
87
+ всё остальное будет добавлено как property
86
88
*/
87
89
/**
88
90
* Создать компонент
@@ -111,11 +113,12 @@ export class Component {
111
113
case 'also' : if ( context ) val . call ( context , $el ) ; break ;
112
114
case 'export' : val [ 0 ] = $el ; break ;
113
115
case 'var' : if ( context ) context [ '$' + val ] = $el ; break ;
114
- case 'events' : for ( const [ ev , handler ] of Object . entries ( val ) ) if ( handler ) $el . addEventListener ( ev , handler . bind ( context ) ) ; break ;
116
+ case 'events' : for ( let ev in val ) if ( val [ ev ] ) $el . addEventListener ( ev , val [ ev ] . bind ( context ) ) ; break ;
115
117
case 'parent' : if ( val instanceof Element ) val . append ( $el ) ; break ;
118
+ case 'attr' : for ( let attr in val ) $el . setAttribute ( attr , val [ attr ] ) ; break ;
116
119
case 'style' :
117
120
if ( typeof val === 'string' ) $el . style = val + ';' ;
118
- else for ( const [ skey , sval ] of Object . entries ( val ) ) $el . style [ skey ] = sval ;
121
+ else for ( let st in val ) $el . style [ st ] = val [ st ] ;
119
122
break ;
120
123
case 'children' :
121
124
for ( const obj of val ) {
0 commit comments