数据双向绑定
1.绑定的是表单控件
2.数据双向绑定原理:数据双向绑定是采用数据劫持结合发布者-订阅者模式的方式,通过Object.defineProperty()来劫持各个属性的setter、getter,在数据变动时发布消息给订阅者,触发响应的监听回调来渲染视图。
<input type="text" v-model:value="value">
简写
<input type="text" v-model="value">
data: {
value: 123
}
简易计算器实现代码
html部分
<!-- 实现功能需要先引入vue.js包 -->
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<div id="app">
<!-- 计算器 -->
<input type="text" v-model="firstValue">
<select v-model="selected" name="" id="">
<option value="+">+</option>
<option value="-">-</option>
<option value="*">*</option>
<option value="/">/</option>
</select>
<input type="text" v-model="endValue">
<button @click="value">=</button>
<input type="text" v-model="lastValue">
</div>
js部分
let vm = new Vue({
el: '#app',
data: {
firstValue: '',
endValue: '',
lastValue: '',
selected: ''
},
methods: {
value() {
// console.log('111');
// console.log(this.selected);
this.lastValue = eval('Number(this.firstValue)' + this.selected + 'Number(this.endValue)')
},
},
})