zoukankan      html  css  js  c++  java
  • 用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. 页面分享

        

        

  • 相关阅读:
    文档数据库 海量文本分析 搜索引擎 NoSql 数据库 NewSql 数据库 图数据库 知识图谱 联想 白盒人工智能
    我发起了 一个 桌面程序 窗体界面 开源项目 WinFormXml
    调幅 是 电子技术, 调频 是 量子技术
    出一道题 : 证明 超外差收音机 的 混频原理
    研究一下 容器 的 原理
    设计 一个 CPU 的 存储管理部件
    我发起了 一个 操作系统 开源项目, 名字待定
    ServerFul 架构
    谈谈 ServerFul 架构
    状态机 控制机 任务机
  • 原文地址:https://www.cnblogs.com/cheerup/p/6286455.html
Copyright © 2011-2022 走看看