<form id="app" v-if="isReady" @submit.prevent="submit">
<input type="text" name="name" v-model.trim.lazy="model.name" />
<input type="number" name="num" v-model.number="model.num" />
<input type="submit" />
</form>
<script>
new Vue({
el: '#app',
data: { model: model, isReady: false },
created: function () {
if (this.model.id) {
this.$http.get(url, { params: { id: this.model.id } }).then(function (res) {
var d = res.body.result;
if (d) {
for (var v in d) {
this.model[v] = d[v];
}
}
this.isReady = true;
}, function () {
alert('error');
});
} else this.isReady = true;
},
methods: {
submit: function () {
this.$http.post(url, this.model).then(function (res) {
res = res.body;
alert(res.msg || '...')
}, function (e) {
});
return false;
}
}
});
</script>