Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

基于 virtual dom 的轻量级 mvvm 库 >_<#@!

NotificationsYou must be signed in to change notification settings

shalldie/mini-mvvm

Repository files navigation

npmfile sizeBuild Status

A mini mvvm lib withvirtual dom - mini-vdom.

基于virtual dom - mini-vdom 的轻量级 mvvm 库 >_<#@!

适用于 ui 组件的构建依赖或小型项目,如果项目比较复杂,也许一个更加成熟的 mvvm 框架及其生态更适合你 🤠🤠

Installation

npm install mini-mvvm --save

包含了.d.ts 文件,用起来毫无阻塞 >_<#@!

Live Example

MVVM - 功能演示

Development && Production

npm run dev:mini-mvvm 开发调试npm run build 生产构建

Ability

  • VNode 基于虚拟 dom:virtual dom - mini-vdom
  • 数据监听
    • datacomputed 变动监听
    • 数组方法监听push |pop |shift |unshift |splice |sort |reverse
  • computed 计算属性
  • 文本节点 数据绑定,可以是一段表达式
  • attribute 数据绑定
    • 支持绑定 data、computed,支持方法,可以是一段表达式
  • 常用指令
    • m-model 双向绑定。 支持inputtextareaselect
    • m-if 条件渲染。条件支持datacomputed、一段表达式
    • m-for 循环。(item,index) in arrayitem in array
  • 事件绑定
    • @click |@mousedown |... 。可以使用$event 占位原生事件
  • watch 数据监听,详见下方示例
    • 声明方式
    • api 方式
  • 生命周期
    • created 组件创建成功,可以使用this 得到 MVVM 的实例
    • beforeMount 将要被插入 dom
    • mounted 组件被添加到 dom,可以使用this.$el 获取根节点 dom
    • beforeUpdate 组件将要更新
    • updated 组件更新完毕

Example

importMVVMfrom'mini-mvvm';// es module, typescript// const MVVM from 'mini-mvvm'; // commonjs// const MVVM = window['MiniMvvm']; // windownewMVVM({// 挂载的目标节点的选择器// 如果没有 template,就用这个节点作为编译模板el:'#app',template:`    <div>        <div>{{ content }}</div>    </div>    `,// datadata(){return{content:'this is content.'};},computed:{},// ...计算属性// ...hook,可以使用 thiscreated(){// 使用api方式去watchthis.$watch('key',(val,oldVal)=>{},{immediate:true});},mounted(){},// ...hook,可以使用 this.$elmethods:{},// ...方法// ...数据监听watch:{// 声明方式1:watch1(val,oldVal){},// 声明方式2:watch2:{immediate:true,// 立即执行handler(val,oldVal){}}}});

Enjoy it! :D


[8]ページ先頭

©2009-2025 Movatter.jp