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

    1. 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>
    </head>
    <body>
         <!--用 Vue new出来的实例会控制这个元素-->
         <!-- Vue 实例所控制的区域就是 MVVM 的V-->
         <!--new 出来的vm就是MVVM 中的VM  ,其中的调度这-->
        <div id="app">
            <P>{{msg}}</P>   
        </div>
            
        <script>
            //2.创建一个Vue实例
            //当我们带入包之后,在浏览器内存中就多了一个Vue构造函数
            var vm =new Vue(
                {
                    el:'#app',  //表示我们这new的这个Vue要控制的区域
                    // MVVM 中的M  用来保存数据
                    data :{
                        msg:'欢迎学习Vue'  //通过Vue的指令,直接把数据渲染到页面上,不在手动操作DON元素
                    }
                }
            )
    
                
    
        </script>
    </body>
    </html>
    

      

    2. c-cloak、c-text、c-html介绍.
    <!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>
        <style>
            /* 解决闪烁问题 */
            [v-cloak] {   
                display:none;
            }
        </style>
    </head>
    <body>
        <div id="app">
            <p v-cloak>1111{{msg}}1111</p>  <!-- 不会覆盖元素中的内容 -->
            <h4 v-text="msg">123123</h4>   <!-- 会覆盖元素中的123123 -->
            <p v-cloak>1111{{msg2}}1111</p>  <!-- 不会覆盖元素中的内容 , 只会当做是一个文本-->
            <h4 v-text="msg2">123123</h4>   <!-- 会覆盖元素中的123123 ,只会当做是一个文本 -->
            <h1 v-html="msg2"></h1>  <!--会当做是一个html的标签输出-->
            
            <!--v-bind: 吧mytitle当做一个变量,用于绑定Vue中提供与绑定属性的指令 可以直接写成:  也可以在其中写入合法的js表达式-->
    
            <input type="button" value="按钮" v-bind:title="mytitle" v-on:click="show"> <!--可以直接把v-on:写成@-->
        </div>
        
        <script src="lib/vue.js"></script>
    
        <script>
            var vm = new Vue({
                el:'#app',
                data:{
                    msg:'123',
                    msg2:'<h1>我是一个H1</h1>',
                    mytitle: '这是一个自己定义的title'
                },
                methods:{  //在这个属性中定义了当前Vue实例所有可用的方法
                    show:function(){
                        alert('HELLO')
                    }
                }
            })
        </script>
    </body>
    </html>
    

      3. 走马灯页面效果

    <!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="start">
            <input type="button" value="停" @click="stop">
            <h1>{{ msg }}</h1>
        </div>
        
        <script>
            
            var vm =new Vue({
                el:'#app',
                data:{
                    msg:'猥琐发育,别浪--',
                    intervalid:null
                },
                methods:{
                    start(){
                        if(this.intervalid!=null) return;
                        /*  =>  使内部的this指向外部的vn的this*/
                        this.intervalid = setInterval(() =>{
                            //console.log(this.msg)   /*在VM实例中想要获取data上的数据或者想要调用methods中的方法,必须通过this. 来获取或调用*/
                            var st =this.msg.substring(0,1)
                            var end =this.msg.substring(1)
                            this.msg =end + st
                            },400)
                        
                        
                        
                        
                        //注意:vm实例会检讨自己身上的data中的所有数据的改变,只要数据变化就会自动把数据更新倒也没上去
                    },
                    stop(){
                        clearInterval(this.intervalid)
                        this.intervalid =null
                    }
                    
    
                }
            })
            
    
        </script>
        
    </body>
    </html>
    

      4. 事件修饰符的使用

    <!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>
            .inner{
                height: 150px;
                background-color: blue
            }
        </style>
    
    </head>
    <body>
        <div id ="app">
            <div class="inner" @click.self="bivHandler">
                <!--可以连接到一起使用-->
            <!-- <div class="inner" @click.onec="bivHandler"> .once 只触发一次事件-->
            <!-- <div class="inner" @click.self="bivHandler"> .selt 只有点击当前元素才会触发事件-->
            <!-- <div class="inner" @click.capture="bivHandler"> .capture 实现捕获事件的触发机制  -->  .
    
                <!-- <a href="https://123.sogou.com/?121033" @click.prevent="LinkClick">搜搜</a>  阻止默认行为 -->
    
                <!-- <input type="button" value ="使劲戳" @click.stop="btnHandler">  .stop 修饰符 阻止冒泡 -->
    
                <input type="button" value ="使劲戳" @click="btnHandler">
                <h4>{{msg}}</h4>
                <input type="text" value ="使劲戳" @click="btnHandler" v-model="msg">  <!--v-model  数据双向绑定 互相改变 ,不加model的只能从代码改变页面无法逆向改变-->
    
            </div>
        </div>
    
    <script>
        var vn=new Vue({
            el:'#app',
            data:{
                msg:'hello'
            },
            methods:{
                bivHandler(){
                    console.log("这是DIV")
                },
                btnHandler(){
                    console.log("这是button")
                },
                LinkClick(){
                    console.log("这是a")
                }
            }
        })
    
    </script>
    
    </body>
    </html>
    

      

  • 相关阅读:
    可视化XHTML编辑器
    诺基亚E63内存清理法
    C语言第0次作业
    C语言博客作业03函数
    C博客作业01分支、顺序结构
    C语言博客作业02循环结构
    心情随笔
    沉没成本
    检索了MEG 和EEG,以及棘波的论文
    解决投稿问题
  • 原文地址:https://www.cnblogs.com/LittleDuan/p/11255513.html
Copyright © 2011-2022 走看看