zoukankan      html  css  js  c++  java
  • 2 Vue.js基础

    1 简易计算器

    <!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="lib/vue.js"></script>
    </head>
    <body>
    
        <div id="app" v-model="opt">
            <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="calc">
    
            <input type="text" v-model="result">
    
        </div>
        
        <script>
            var vm=new Vue({
                el:'#app',
                data:{
                    n1:0,
                    n2:0,
                    result:0,
                    opt:'+'
                },
                methods:{
                    calc(){
                        /*
                        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;
                    
                        default:
                            break;
                            */
                            //正式项目不推荐下面的写法
                        var codeStr='parseInt(this.n1)' + this.opt + 'parseInt(this.n2)'
                        this.result =eval(codeStr)
                    }
                    
                    }
                }
                    
            )
        </script>
    </body>
    </html>
    

      2. Vue中的样式

    <!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="lib/vue.js"></script>
        <style>
        .red{
            color: red;
        }
        .thin{
            font-weight: 200;
        }
        .italic{
            font-style: italic
        }
        .active{
            letter-spacing: 0.5em;
        }
        </style>
    </head>
    <body>
        <div id="app">
            <!-- <h1 class="red thin">这是一个H1!!!</h1> -->
    
            <!--第一种使用方法,直接传递一个数组进去,必须用单引号来分开才会认为这是一个变量,否则会直接默认为是一个字符串-->
            <!-- <h1 :class="['red','italic']">这是一个H1!!!</h1> -->
    
            <!--在数组中使用三元表达式-->
            <!-- <h1 :class="['red','italic',flag?'active':'']">这是一个H1!!!</h1> -->
            
            <!--用对象的形式来代替三元表达式-->
            <!-- <h1 :class="['red','italic',{'active':flag}]">这是一个H1!!!</h1> -->
                
            <!-- 直接使用对象,或者也可以直接把classobj中的内容 直接放到class中-->
            
            <h1 :class="calssobj">这是一个H1!!!</h1>
    
        </div>
    
        <script>
        var vm=new Vue({
            el:"#app",
            data:{
                flag:true,
                calssobj:{red:true,thin:true,italic:false,active:false}
            },
            methods:{
    
            }
        })
        </script>
    </body>
    </html>
    

      3. Vue的Class样式的使用

    <!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="lib/vue.js"></script>
        <style>
        .red{
            color: red;
        }
        .thin{
            font-weight: 200;
        }
        .italic{
            font-style: italic
        }
        .active{
            letter-spacing: 0.5em;
        }
        </style>
    </head>
    <body>
        <div id="app">
            <!-- <h1 class="red thin">这是一个H1!!!</h1> -->
    
            <!--第一种使用方法,直接传递一个数组进去,必须用单引号来分开才会认为这是一个变量,否则会直接默认为是一个字符串-->
            <!-- <h1 :class="['red','italic']">这是一个H1!!!</h1> -->
    
            <!--在数组中使用三元表达式-->
            <!-- <h1 :class="['red','italic',flag?'active':'']">这是一个H1!!!</h1> -->
            
            <!--用对象的形式来代替三元表达式-->
            <!-- <h1 :class="['red','italic',{'active':flag}]">这是一个H1!!!</h1> -->
                
            <!-- 直接使用对象,或者也可以直接把classobj中的内容 直接放到class中-->
            
            <h1 :class="calssobj">这是一个H1!!!</h1>
    
        </div>
    
        <script>
        var vm=new Vue({
            el:"#app",
            data:{
                flag:true,
                calssobj:{red:true,thin:true,italic:false,active:false}
            },
            methods:{
    
            }
        })
        </script>
    </body>
    </html>
    

      4. Vue的v-for的使用

    <!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="lib/vue.js"></script>
    
    </head>
    <body>
        <div id="app">
            <!-- <p>{{list[0]}}</p>
            <p>{{list[1]}}</p>
            <p>{{list[2]}}</p>
            <p>{{list[3]}}</p>
            <p>{{list[4]}}</p>
            <p>{{list[5]}}</p>  -->
    
            <!-- <p v-for="(item,i) in list">索引:{{i}}--{{item}}</p> -->
            <p v-for="(user,i) in LT">ID:{{user.ID}} --- name:{{user.name}} --- index:{{i}}</p>
                
    
        </div>
            
    
        <script>
            var vm=new Vue({
                el:'#app',
                data:{
                    list:[1,2,3,4,5,6,],
                    LT:[
                        {ID:1,name:'11'},
                        {ID:2,name:'22'},
                        {ID:3,name:'33'},
                        {ID:4,name:'44'}
    
                    ]
                },
                methods:{}
            })
        </script>
    
    </body>
    </html>
    

      5. Vue v-for对象以及key的使用

    <!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="lib/vue.js"></script>
    
    </head>
    <body>
        <div id="app">
            <!-- 遍历对象身上的键值对时 除了val,key还有一个索引i -->
            <!-- <p v-for="(val,key,i) in user">   值:{{val}}  ---  键:{{key}} 索引:{{i}}</p> -->
            <!-- <p v-for="count in 10">这是第 {{count}} 次循环</p>  //循环数字,起始是1 -->
    
            <!-- for循环的key的使用 -->
            <div>
                <label >Id:
                    <input type="text" v-model="id">
                </label>
    
                <label>Name:
                    <input type="text" v-model="name">
                </label>
                <input type="button" value="添加" @click="add">
            </div>
    
            <!-- 1 在使用key的时候一定要使用v-bind属性绑定形式,制定key的值
            2 在组建中,使用v-for循环的时候,或者在一些特殊情况中,如果v-for有问题必须在使用v-for的同时,
            制定唯一的字符串/数字类型:key值 -->
            <p v-for="item in list" :key="item">  <!-- 可以保证数据的唯一性 -->
                <input type="checkbox">{{item.id}} ---  {{item.name}}
            </p>
    
        </div>
            
    
        <script>
            var vm=new Vue({
                el:'#app',
                data:{
                    list:[
                        {id:1,name:'唐'},
                        {id:2,name:'宋'},
                        {id:3,name:'元'},
                        {id:4,name:'明'},
                        {id:5,name:'清'}
                    ]
                },
                methods:{
                    add(){
                        this.list.unshift({id:this.id,name:this.name});
                    }
                }
            })
        </script>
    
    </body>
    </html>
    

      6. Vue的v-if和v-show的使用

    <!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="lib/vue.js"></script>
    </head>
    <body>
        
        <div id="app">
            <input type="button" value="点击" @click="flag=!flag">
            <!-- 
            v-if的特点:每次都会重新删除或创建元素  有较高的切换性能消耗
            v-show的特点:每次不会进行DOM的删除或创建操作,只是切换了元素的display:nene的属性  有较高的初始或渲染消耗
            如果元素要频繁的切换最好不要使用v-if
            如果是永久性的不显示,则推荐v-if
            -->
            <P v-if="flag">Hello</P>   
            <p v-show="flag">Word</p>
        </div>
            
        <script>
            //2.创建一个Vue实例
            //当我们带入包之后,在浏览器内存中就多了一个Vue构造函数
            var vm =new Vue(
                {
                    el:'#app',  
                    data :{
                        flag:true
                    }
                }
            )
    
                
    
        </script>
    </body>
    </html>
    

      

  • 相关阅读:
    if()中的判断条件为什么被判断不通过
    2016-10-1219:50:40
    学习C语言主流编译器的使用方法
    请帮忙看下为什么返回值不正确
    puts()和putchar()的差异
    这题的最短路线怎么求~
    各路大神大显神通!帮帮忙如何使用顺序表实现以下任务
    网络协议学习笔记(九)CDN和数据中心
    网络协议学习笔记(八)DNS协议和HttpDNS协议
    网络协议学习笔记(七)流媒体协议和P2P协议
  • 原文地址:https://www.cnblogs.com/LittleDuan/p/11257136.html
Copyright © 2011-2022 走看看