smalljs$molПошук⌘ KДокументаціяПісочницяПорівнянняЕкосистемаПро проєктUK
Збірник рецептівGetting StartedВступМентальна модельПочаток роботиВід TypeScript до view.treeСтруктура проєктуІнструментарійEssentialsВстановленняВидиСтан і реактивністьМаршрутизаціяРендерингТестуванняДеплойРозв'язання проблемDataОтримання данихСхеми данихGiper BazaMoreВітринаЗ React, Vue та SvelteЗбірник рецептівAdvancedПлагіниМетадані модуляОфлайнПодання-привидиAboutЧасті питанняКомандаРелізиAPI$mol_button_major$mol_button_minor$mol_string$mol_number$mol_text$mol_paragraph$mol_list$mol_row$mol_link$mol_check$mol_switch$mol_select$mol_scroll$mol_page$mol_pick

Збірник рецептів

Короткі, готові до копіювання рецепти для задач, що трапляються майже в кожному застосунку. Кожен — реальний код $mol: змініть імена та вставляйте до себе.

Двостороння прив'язка вводу

Тримайте ввід і похідне значення в синхроні без ручної обв'язки: <=> зв'язує в обидва боки, а будь-яка обчислювана властивість, що читає значення, оновлюється сама.1$my_greeter $mol_view2 sub /3 <= Name $mol_string4 value? <=> name?5 <= Hello $mol_view6 sub / <= greeting \1namespace $.$$ {2 export class $my_greeter extends $.$my_greeter {3 @ $mol_mem name( next?: string ) { return next ?? '' }4 5 @ $mol_mem greeting() {6 return this.name() ? `Hello, ${ this.name() }!` : 'Type your name'7 }8 }9}

Список із додаванням і видаленням

Тримайте колекцію в реактивній властивості та переписуйте її незмінно з дій. Ключовий Row* рендерить по рядку на елемент, і — завдяки віртуалізованому рендерингу — створюються лише видимі рядки.1$my_todo $mol_view2 draft? \3 items /4 sub /5 <= Input $mol_string6 value? <=> draft?7 hint \New item8 <= Add $mol_button_major9 click? <=> add?10 sub / <= add_label \Add11 <= List $mol_list12 rows <= item_rows /13 Row* $mol_row14 sub /15 <= Label* $mol_view16 sub / <= item_title* \17 <= Delete* $mol_button_minor18 click? <=> delete*?19 sub / <= delete_label \✕1namespace $.$$ {2 export class $my_todo extends $.$my_todo {3 @ $mol_mem draft( next?: string ) { return next ?? '' }4 @ $mol_mem items( next?: readonly string[] ) { return next ?? [] }5 6 @ $mol_action add() {7 const title = this.draft().trim()8 if( !title ) return9 this.items([ ... this.items(), title ])10 this.draft( '' )11 }12 13 @ $mol_action delete( id: number ) {14 this.items( this.items().filter( ( _, i ) => i !== id ) )15 }16 17 item_title( id: number ) { return this.items()[ id ] }18 19 item_rows() {20 return this.items().map( ( _, id ) => this.Row( id ) )21 }22 }23}
Редагувати цю сторінку на GitHubЦе було корисно?ТакНіНазадЗ React, Vue та SvelteДаліПлагіни
На цій сторінціДвостороння прив'язка вводуСписок із додаванням і видаленнямЗавантаження даних зі станами завантаження та помилкиЗбереження локального стануЧитання та запис параметра маршрутуАвтоматична світла/темна темаДалі
Type to search the documentation.