SOURCE

console 命令行工具 X clear

                    
>
console
const sleepPs = (ms) => {
    return new Promise(resolve => setTimeout(resolve()), ms)
}

var app = new Vue({
  el: '#app',
  data() {
    return {
      form: {
          value: '',
      }
    }
  }, 
  methods: {
    async fatchForm() {
        await sleepPs(300)
        const form = formTransform({})
        form.$writeView({
            value: 1355
        })
        console.log(form)
        this.form = form
    },
    onSubmit() {
        let form = this.form.$readView()
        console.log(JSON.stringify(form, null, 2))
    },
  },
  created() {
      this.fatchForm()
  }
});

const formTransform = (data) => {
  Object.defineProperty(data, '$writeView', {
    value: function(data) {
        data.value = data.value / 100
        Object.assign(this, data)
    }
  })
  Object.defineProperty(data, '$readView', {
    value: function() {
        let data = {...this}
        data.value = data.value * 100
        return data
    }
  })
  return data
}
<div id="app">
    <input type="text" v-model="form.value">
    <button @click="onSubmit">test</button>
</div>

本项目引用的自定义外部资源