请检查-下,谢谢

来源:3-23 自由编程

鲨鱼没有鲨鱼线

2020-05-21 11:55:21

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>计算器</title>
    <style>
        h1 {
            text-align: center;
        }
        input {
            border: 1px solid #7c7c7c;
            border-radius: 2px;
        }
        #app {
            margin: 0 auto;
            width: 80%;
            height: 100px;
            line-height: 100px;
            text-align: center;
        }
    </style>
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
    <h1>计算器</h1>
    <div id="app">
        <input type="text" v-model="firNum"/>
        <select v-model="value">
            <option value="add" selected>+</option>
            <option value="sub">-</option>
            <option value="mul">*</option>
            <option value="division">/</option>
        </select>
        <input type="text" v-model="secNum"/>
        <button @click="cal">=</button>
        <input type="text" v-model="res" value="res" disabled/>
    </div>

    <script>
        var app = new Vue({
            el: "#app",
            data: {
                firNum: "",
                secNum: "",
                res: "",
                value: ""
            },
            methods: {
                cal: function () {
                    switch (this.value) {
                        case "add":
                            this.res = Number(this.firNum) + Number(this.secNum);
                            break;
                        case "sub":
                            this.res = Number(this.firNum) - Number(this.secNum);
                            break;
                        case "mul":
                            this.res = Number(this.firNum) * Number(this.secNum);
                            break;
                        case "division":
                            this.res = Number(this.firNum) / Number(this.secNum);
                            break;
                    }
                }
            },
            watch: {
                value: function (value) {
                    this.cal(value);
                }
            }
        })
    </script>
</body>
</html>


写回答

1回答

好帮手慕星星

2020-05-21

同学你好,计算是没有问题的。还可以优化:

练习的效果图中下拉菜单默认显示+

http://img.mukewang.com/climg/5ec618e1092119b605970170.jpg

自己实现的效果中没有

http://img.mukewang.com/climg/5ec618e309ac752207100086.jpg

这是因为vue中直接写selected属性是不生效的,不能起到默认选中的作用。需要给value属性添加默认值,参考

http://img.mukewang.com/climg/5ec6191f09e5176907000662.jpg

如果我的回答帮助到了你,欢迎采纳,祝学习愉快~

0

0 学习 · 10739 问题

查看课程