mini mvvm

自用,bug较多,if和for指令不能使用

This script should not be not be installed directly. It is a library for other scripts to include with the meta directive // @require https://update.greasyfork.org/scripts/444466/1047848/mini%20mvvm.js

Author
ayan0312
Version
0.0.3
Created
2022-05-04
Updated
2022-05-07
License
N/A

指令

<div v-on:click="myClick"></div>
<div v-style="myStyle"></div>
<div v-show="display"></div>
<div v-show:display></div>
<div v-class="myClass"></div>
<div v-model="myModel"></div>
<div v-ref="myRef"></div>
<div v-text="myText"></div>
<div v-html="myHTML"></div>

全局

const state=observe({
  count:GM_getValue('count',1),
})

new Watcher(null,()=>{
  return state.count
},(newVal)=>{
  GM_setValue('count',newVal)
})

const Counter = {
  template: `
    <button v-on:click="decrease">-</button>
    <span>{{global.count}}</span>
    <button v-on:click="increase">+</button>
  `,
  data(){
    return {
      global:state,
    }
  },
  methods:{
    increase(){
      this.global.count+=1
    },
    decrease(){
      this.global.count-=1
    },
  }
}

用例

MyFigureCollection: Image Downloader