前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >8. Vue 使用v-model实现计算器示例

8. Vue 使用v-model实现计算器示例

作者头像
Devops海洋的渔夫
发布2022-01-17 09:18:00
6270
发布2022-01-17 09:18:00
举报
文章被收录于专栏:Devops专栏

需求

上一篇章介绍了使用v-model双向绑定「表单元素」的value与Vue中的data数据,那么利用该特性来写一个加减乘除的计算器。

示例

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

    <div id="app">

        <!-- 输入计算器的第一个数 n1 -->
        <input type="text" v-model="n1">

        <!-- 设置加减乘除 -->
        <select v-model="opt">
            <option value="+">+</option>
            <option value="-">-</option>
            <option value="*">*</option>
            <option value="/">/</option>
        </select>

        <!-- 输入计算器的第二个数 n2 -->
        <input type="text" v-model="n2">

        <!-- 设置等号=作为监听事件,计算结果 -->
        <input type="button" @click="calc" value="=">

        <!-- 显示结果的值 -->
        <input type="text" v-model="result">

    </div>

    <!--  1.导入vue.js库  -->
    <script src="lib/vue.js"></script>

    <script>
        // 2. 创建一个Vue的实例
        var vm = new Vue({
            el: '#app',
            data: {
                n1: 0,
                n2: 0,
                result:0,
                opt: "+" // 设置默认为加法
            },
            methods:{
                calc(){
                    // 根据设置的计算方法进行计算
                    switch (this.opt) {

                        case "+": // 加法
                            this.result = parseFloat(this.n1) + parseFloat(this.n2);
                            break;

                        case "-": // 减法
                            this.result = parseFloat(this.n1) - parseFloat(this.n2);
                            break;

                        case "*": // 乘法
                            this.result = parseFloat(this.n1) * parseFloat(this.n2);
                            break;

                        case "/": // 除法
                            this.result = parseFloat(this.n1) / parseFloat(this.n2);
                            break;
                    }
                }
            }

        })
    </script>

</body>
</html>

浏览器执行如下:

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-05-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 海洋的渔夫 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 需求
  • 示例
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档