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


Posted in Javascript onJanuary 15, 2017

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

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

Javascript 相关文章推荐
JQuery实现的在新窗口打开链接的方法小结
Apr 22 Javascript
javascript中parentNode,childNodes,children的应用详解
Dec 17 Javascript
JS二维数组的定义说明
Mar 03 Javascript
三种取消选中单选框radio的方法
Sep 09 Javascript
在javascript中创建对象的各种模式解析
May 16 Javascript
javascript使用 concat 方法对数组进行合并的方法
Sep 08 Javascript
几行js代码实现自适应
Feb 24 Javascript
移动前端图片压缩上传的实例
Dec 06 Javascript
vue项目引入字体.ttf的方法
Sep 28 Javascript
Vue.js实现立体计算器
Feb 22 Javascript
JavaScript 面向对象程序设计详解【类的创建、实例对象、构造函数、原型等】
May 12 Javascript
django简单的前后端分离的数据传输实例 axios
May 18 Javascript
bootstrap——bootstrapTable实现隐藏列的示例
Jan 14 #Javascript
JS轮播图中缓动函数的封装
Nov 25 #Javascript
JavaScript字符串对象
Jan 14 #Javascript
jquery mobile移动端幻灯片滑动切换效果
Apr 15 #Javascript
Easyui笔记2:实现datagrid多行删除的示例代码
Jan 14 #Javascript
jQuery实现select模糊查询(反射机制)
Jan 14 #Javascript
Angular2-primeNG文件上传模块FileUpload使用详解
Jan 14 #Javascript
You might like
如何在PHP中使用Oracle数据库(4)
2006/10/09 PHP
截获网站title标签之家内容的例子
2006/10/09 PHP
PHP 强制性文件下载功能的函数代码(任意文件格式)
2010/05/26 PHP
PHP最常用的正则表达式
2017/02/13 PHP
实现JavaScript中继承的三种方式
2009/10/16 Javascript
javascript showModalDialog 内跳转页面的问题
2010/11/25 Javascript
jQuery制作仿腾讯web qq用户体验桌面
2013/08/20 Javascript
IE8下String的Trim()方法失效的解决方法
2013/11/08 Javascript
JS实现图片放大镜效果的方法
2015/02/27 Javascript
关于网页中的无缝滚动的js代码
2016/06/09 Javascript
详解Vue.use自定义自己的全局组件
2017/06/14 Javascript
vue+swiper实现组件化开发的实例代码
2017/10/26 Javascript
ReactNative中使用Redux架构总结
2017/12/15 Javascript
JavaScript设计模式之建造者模式实例教程
2018/07/02 Javascript
node.js到底要不要加分号浅析
2018/07/11 Javascript
详解如何解决vue开发请求数据跨域的问题(基于浏览器的配置解决)
2018/11/12 Javascript
vue 右键菜单插件 简单、可扩展、样式自定义的右键菜单
2018/11/29 Javascript
Vue组件内部实现一个双向数据绑定的实例代码
2019/04/04 Javascript
微信小程序开发技巧汇总
2019/07/15 Javascript
layui表格内放置图片,并点击放大的实例
2019/09/10 Javascript
js实现图片区域可点击大小随意改变(适用移动端)代码实例
2019/09/11 Javascript
layer关闭弹出窗口触发表单提交问题的处理方法
2019/09/25 Javascript
javascript实现智能手环时间显示
2020/09/18 Javascript
python继承和抽象类的实现方法
2015/01/14 Python
python中列表元素连接方法join用法实例
2015/04/07 Python
python创建列表和向列表添加元素的实现方法
2017/12/25 Python
在python中利用numpy求解多项式以及多项式拟合的方法
2019/07/03 Python
OpenCV模板匹配matchTemplate的实现
2019/10/18 Python
python3连接mysql获取ansible动态inventory脚本
2020/01/19 Python
Java Unsafe类实现原理及测试代码
2020/09/15 Python
html5使用canvas实现图片下载功能的示例代码
2017/08/26 HTML / CSS
美国肌肉和力量商店:Muscle & Strength
2019/06/22 全球购物
本科毕业生专业自荐书范文
2014/02/05 职场文书
民事诉讼代理词
2015/05/25 职场文书
基于Redis实现分布式锁的方法(lua脚本版)
2021/05/12 Redis
分析ZooKeeper分布式锁的实现
2021/06/30 Java/Android