vue-v-model
v-model语法糖
by Seetpal Singh
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.4.0/vue.js"></script>
<body>
<div id="app">
<p>{{name}} - {{age}}</p>
<child-component v-model="name"></child-component>
<child-component :value="age" @input="age = arguments[0]"></child-component>
<!-- 修饰符测试(change事件触发,非input;即失去焦点触发) -->
<input type="text" v-model.lazy="address">
<p>{{address}}</p>
</div>
</body>
JavaScript
const app = new Vue({
el: '#app',
data() {
return {
name: 'lg',
age: 27,
address: ''
}
},
components: {
'child-component': {
props: ['value'],
template: `
<div>
<input v-bind:value="value"
@input="updateValue($event.target.value)">
</input>
</div>
`,
methods: {
updateValue(value) {
this.$emit('input', value);
}
}
}
}
});