Vue.js03:v-model实现简易计算器

v-model用于数据的双向绑定。bug不少,凑合看吧,主要是练习v-model。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
    <div id="app">
        <!-- v-model 双向绑定数据 -->
        <input type="text" v-model="n1">

        <select v-model="opt">
            <option value="+">+</option>
            <option value="-">-</option>
            <option value="*">*</option>
            <option value="/">/</option>
        </select>

        <input type="text" v-model="n2">

        <!-- @ 用于事件绑定 -->
        <input type="button" value="=" @click="cal">

        <input type="text" v-model="result">
    </div>
</body>
<script>
    let vm = new Vue({
        el: '#app',
        data: {
            n1: 0,
            n2: 0,
            result: 0,
            opt: '+'
        },
        methods: {
            cal(){
                switch(this.opt){
                    case '+':
                        this.result = parseInt(this.n1) + parseInt(this.n2)
                    break
                    case '-':
                        this.result = parseInt(this.n1) - parseInt(this.n2)
                    break
                    case '*':
                        this.result = parseInt(this.n1) * parseInt(this.n2)
                    break
                    case '/':
                        this.result = parseInt(this.n1) / parseInt(this.n2)
                    break
                }
            }
        }
    })
</script>
</html>
posted @ 2019-03-13 14:22  正态分个布  阅读(1028)  评论(0编辑  收藏  举报