vue可以通过watch来监听属性值的变化。
这是一个计算人民币对美元汇率的例子 <script src="https://how2j.cn/study/vue.min.js"></script>
<style>
table tr td{
border:1px solid gray;
padding:10px;
}
table{
border-collapse:collapse;
width:800px;
table-layout:fixed;
}
tr.firstLine{
background-color: lightGray;
}
</style>
<div id="div1">
<table align="center" >
<tr class="firstLine">
<td>人民币</td>
<td>美元</td>
</tr>
<tr>
<td align="center" colspan="2">
汇率: <input type="number" v-model.number="exchange" />
</td>
</tr>
<tr>
<td align="center">
¥: <input type="number" v-model.number = "rmb" />
</td>
<td align="center">
$: <input type="number" v-model.number = "dollar" />
</td>
</tr>
</table>
</div>
<script>
new Vue({
el: '#div1',
data: {
exchange:6.4,
rmb:0,
dollar:0
},
watch:{
rmb:function(val) {
this.rmb = val;
this.dollar = this.rmb / this.exchange;
},
dollar:function(val) {
this.dollar = val;
this.rmb = this.dollar * this.exchange;
},
}
})
</script>
HOW2J公众号,关注后实时获知最新的教程和优惠活动,谢谢。
问答区域
2022-10-11
优化下代码,解决双向监听中自动触发刷新的问题
回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
2021-04-29
watch代码块是怎么跑起来的啊,看不懂
回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
2020-12-16
直观点。。。。。
2020-09-24
为啥要加this啊1,有this。rmb声明了=val,但另外两个在一个rmb方法里没声明啊!!
2020-09-11
$转¥
提问太多,页面渲染太慢,为了加快渲染速度,本页最多只显示几条提问。还有 6 条以前的提问,请 点击查看
提问之前请登陆
提问已经提交成功,正在审核。 请于 我的提问 处查看提问记录,谢谢
|