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

Posted 柴尼玛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用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的数据来实现计算。

  4. 页面分享

    

    

以上是关于用vue实现简单实时汇率计算功能的主要内容,如果未能解决你的问题,请参考以下文章

小象学院—案例1—汇率兑换

Vue + Sass 实现简单的换肤功能

computed--实时计算属性

Vue数据绑定原理及简单实现

用java写一个汇率的程序:将人民币与美元、欧元、英镑等多种货币的汇率保存在指定文件中,设计图形用

前端如何获取实时美元汇率