핸들러를 배선하지 않고도 입력과 파생 값을 동기화합니다. <=>는 양방향으로 바인딩하고, 그 값을 읽는 계산 속성은 모두 스스로 갱신됩니다.1$my_greeter$mol_view2 sub /3<= Name $mol_string4 value?<=> name?5<= Hello $mol_view6 sub /<= greeting \1namespace $.$${2export class $my_greeterextends$.$my_greeter{3@ $mol_memname(next?:string){return next??''}45@ $mol_memgreeting(){6return 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 $.$${2export class $my_todoextends$.$my_todo{3@ $mol_memdraft(next?:string){return next??''}4@ $mol_memitems(next?:readonlystring[]){return next??[]}56@ $mol_actionadd(){7const title=this.draft().trim()8if(!title)return9this.items([...this.items(),title])10this.draft('')11}1213@ $mol_actiondelete(id:number){14this.items(this.items().filter((_,i)=>i!==id))15}1617item_title(id:number){return this.items()[id]}1819item_rows(){20return this.items().map((_,id)=>this.Row(id))21}22}23}GitHub에서 이 페이지 편집도움이 되었나요?예아니요이전React, Vue, Svelte에서다음플러그인이 페이지에서양방향 바인딩 입력추가·삭제할 수 있는 목록로딩·에러 상태와 함께 데이터 가져오기로컬 상태 유지라우트 매개변수 읽고 쓰기자동 라이트/다크 테마 추가다음Type to search the documentation.