欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

vue实现简单实时汇率计算功能

程序员文章站 2022-12-28 17:13:54
最近在自己摸索vue的使用,因为相对于只是去看教程和实例,感觉不如自己动手写一个demo入门来的快。刚好看到小程序中有一个简单但是很精致的应用极简汇率,而且它的表现形式和v...

最近在自己摸索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实现简单实时汇率计算功能  

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。