vue实现简单实时汇率计算功能
最近在自己摸索vue的使用,因为相对于只是去看教程和实例,感觉不如自己动手写一个demo入门来的快。刚好看到小程序中有一个简单但是很精致的应用极简汇率,而且它的表现形式和vue的表现形式很像,于是想着自己搞一个简单的应用来试试。
1、第一步是搭好简单的Html结构
<div id="demo">
<h1>汇率转换</h1>
<div class="moneyBox"><span>cny</span><input v-model="cny" type="text"><span>人民币¥</span></div>
<div class="moneyBox"><span>usd</span><input v-model="usd" type="text"><span>美元$</span></div>
<div class="moneyBox"><span>hkd</span><input v-model="hkd" type="text"><span>港币$</span></div>
</div>
2、整个页面的逻辑就是将三个币种的input都绑定一个model,v-model可以将这个数据传到后台,当任意一个输入框进行输入的时候会根据js已经写死的汇率计算出另外几种币种的数字。其中比较关键的是vue的computed的使用以及通过编写数据的get和set函数达到每个数据多项绑定的效果。另外值得一提的是我之前也使用了vue的 $watch来实现数据的实时计算,不过在双向绑定的实现中发现还是computed更加适用一些。
var CNY_USD = 6.96;
var CNY_HKD = 0.90;
var data={ cny:'100',
usd:'14.38' ,
hkd:'111.53',
};
var myVue = new Vue({
el: '#demo',
data: data,
computed: {
usd:{
get: function() {
return (this.cny/CNY_USD).toFixed(2);
},
set: function(newValue) {
this.cny = (newValue*CNY_USD).toFixed(2);
}
},
hkd:{
get: function() {
return (this.cny/CNY_HKD).toFixed(2);
},
set: function(newValue) {
this.cny = (newValue*CNY_HKD2Q).toFixed(2);
}
}
}
})
3、样式补充
.moneyBox{
font-size: 20px;
font-family: "微软雅黑";
}
.moneyBox input{
width: 100px;
height: 24px;
padding: 0 10px;
margin: 0 10px;
border-radius: 5px;
border: 1px solid #333;
}
因为目的也只是为了写一个小demo,所以简单做了一个样式,让页面看起来没那么别扭,等有时间了再优化一下页面的用户体验再尝试一下直接调用汇率api的数据来实现计算。
页面分享
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
解决Vue-cli3没有vue.config.js文件夹及配置vue项目域名的问题
这篇文章主要介绍了解决Vue-cli3没有vue.config.js文件夹及配置vue项目域名的问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-12-12
浅谈Vue3.0新版API之composition-api入坑指南
这篇文章主要介绍了Vue3.0新版API之composition-api入坑指南,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-04-04
Vue3+TypeScript+Vite使用require动态引入图片等静态资源
本文主要介绍了Vue3+TypeScript+Vite使用require动态引入图片等静态资源,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2022-07-07


最新评论