• VUE学习 --数据类型、el挂点、指令等


    vue简写方式

    @dblclick 指令等同于 v-on:dblclick指令,两者无差异
    v-bind:src 指令等同于 :src指令,两者无差异,简写方式
    
    1. <p v-on:click="doSomething"></p>     简写: <p @click="doSomething"></p>
    
    2. <p v-bind:class="{className:true}"    简写:<p :class="{className:true}"></p>

    第一个VUE小程序:Hello World!

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>vue学习</title>
    </head>
    <body>
    <div id="app">
        {{message}}
    </div>
    <!--开发云vue.js-->
    <!--<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>-->
    <!-- 生产环境版本,优化了尺寸和速度 -->
    <!--<script src="https://cdn.jsdelivr.net/npm/vue"></script>-->
    <script src="vue.js"></script>
    <script>
        var app = new Vue({
            el:"#app",
            data:{
                message:"hello, world!!!"
            }
        })
    </script>
    </body>
    </html>

    el:挂点 --不能挂到html和body上面,最好挂到div

    <div id="app">
      {{ message }}
    </div>
    var app = new Vue({
      el: '#app', // 可以是id
      el: '.app', // 可以是class
      el: 'div', // 可以是标签
      data: {
        message: 'Hello Vue!'
      }
    })

    data:数据对象

    <body>
    <div id="app">
        {{message}}
        <h2 >
            {{school.name}}
        </h2>
        <ul>
            <li>{{hobby[0]}}</li>
            <li>{{hobby[1]}}</li>
        </ul>
    </div>
    
    <!--开发云vue.js-->
    <!--<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>-->
    <!-- 生产环境版本,优化了尺寸和速度 -->
    <!--<script src="https://cdn.jsdelivr.net/npm/vue"></script>-->
    <script src="vue.js"></script>
    <script>
        var app = new Vue({
            el:"#app",
            data:{
                message:"字符串",
                school:{
                    name:"dict字符串",
                },
                hobby:["list字符串1", "list字符串2"],
                age: 23
    
    
            }
        })
    </script>

    指令

    v-text ---只解析成文本

    <div id="v_mode_text">
    <!--    方法1-->
        <h2 v-text="message"></h2>
    <!--    方法2-->
        <h2>{{message}}</h2>
    </div>

    扩展 -- 字符串拼接

    <div id="v_mode_text">
    <!--    方法1-->
        <h2 v-text="message + 'hello world!!!' "></h2>
    <!--    方法2-->
        <h2>{{message + "hello world!!!"}}</h2>
    </div>
    <script src="vue.js"></script>
    <script>
    
        var v_mode_text = new Vue({
            el:"#v_mode_text",
            data:{
                message:"v_mode_text"
            }
        })
        
    </script>

     v-html --解析标签,类似dom的innerHTML

    设置标签的innerHTML

    <body>
    <div id="app">
        <div v-html="message"></div>
    </div>
    
    <script src="vue.js"></script>
    <script>
        var app = new Vue({
            el:"#app",
            data:{
                message:"<a href='http://www.baidu.com'><img src='ecfb.jpg' alt=''></a>"
            }
        })
    
    </script>

     v-on --为元素绑定事件

    @dblclick 指令等同于 v-on:dblclick指令,两者无差异

     

     

    <div id="app">
        <div>{{message}}</div>
        <input type="button" value="点击" v-on:click="change">
        <input type="button" value="双击事件" @dblclick="change">
    </div>
    
    <script src="vue.js"></script>
    <script>
        var app = new Vue({
            el: "#app",
            data: {
                message: "改变前的值"
            },
            methods: {
                change: function () {
                    // alert("按钮生效!")
                    this.message="改变后的值"
                }
            }
        })
    
    </script>

     事件修饰符--停止stop等

    <!-- 阻止单击事件冒泡 -->
    <a v-on:click.stop="doThis"></a>
    <!-- 提交事件不再重载页面 -->
    <form v-on:submit.prevent="onSubmit"></form>
    <!-- 修饰符可以串联  -->
    <a v-on:click.stop.prevent="doThat"></a>
    <!-- 只有修饰符 -->
    <form v-on:submit.prevent></form>
    <!-- 添加事件侦听器时使用事件捕获模式 -->
    <div v-on:click.capture="doThis">...</div>
    <!-- 只当事件在该元素本身(而不是子元素)触发时触发回调 -->
    <div v-on:click.self="doThat">...</div>
    
    <!-- click 事件只能点击一次,2.1.4版本新增 -->
    <a v-on:click.once="doThis"></a>

     按键修饰符, 键盘事件

    全部的按键别名:

    • .enter
    • .tab
    • .delete (捕获 "删除" 和 "退格" 键)
    • .esc
    • .space
    • .up
    • .down
    • .left
    • .right
    • .ctrl
    • .alt
    • .shift
    • .meta

    v-show --根据表达值的真假,设置元素的隐藏与显示,但标签存在

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>vue学习</title>
    </head>
    <body>
    
    <div id="app">
        <div>
            <button v-on:click="change_img">v-show点击事件</button>
        </div>
    
        <p></p>
        <p></p>
        <p></p>
        <p></p>
        
        <div>
            <img src="ecfb.jpg" v-show="status">
        </div>
    </div>
    
    <script src="vue.js"></script>
    <script>
        var app = new Vue({
            el: "#app",
            data: {
                status: true
            },
            methods: {
                change_img: function () {
                    this.status = false
                }
            }
        })
    
    </script>
    </body>
    </html>

    v-if ---根据表达值的真假,设置元素的隐藏与显示,标签删除

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>vue学习</title>
    </head>
    <body>
    
    <div id="app">
        <div>
            <button v-on:click="change_true">点击生成</button>
            <button v-on:click="change_false">点击消失</button>
        </div>
        <p></p>
        <p></p>
        <p></p>
    
        <div>
            <p v-show="status"> v-show 数据展示</p>
            <p v-if="status"> v-if 数据展示</p>
        </div>
    </div>
    <!--开发云vue.js-->
    <!--<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>-->
    <!-- 生产环境版本,优化了尺寸和速度 -->
    <!--<script src="https://cdn.jsdelivr.net/npm/vue"></script>-->
    <script src="vue.js"></script>
    <script>
        var app = new Vue({
            el:"#app",
            data:{
                status:true
            },
            methods:{
                change_true:function () {
                    this.status = true
                },
                change_false:function () {
                    this.status = false
                }
            }
        })
    
    </script>
    </body>
    </html>

    v-bind 设置元素的属性 src、title、class等

    v-bind:src 指令等同于 :src指令,两者无差异,简写方式

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>vue学习</title>
    </head>
    <body>
    
    <div id="app">
        <div>
            <button v-on:click="change_imgurl">点击图片生成</button>
        </div>
    
        <div>
            <img v-bind:src="src_url">
        </div>
    </div>
    <!--开发云vue.js-->
    <!--<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>-->
    <!-- 生产环境版本,优化了尺寸和速度 -->
    <!--<script src="https://cdn.jsdelivr.net/npm/vue"></script>-->
    <script src="vue.js"></script>
    <script>
        var app = new Vue({
            el:"#app",
            data:{
                status:true,
                src_url:""
    
            },
            methods:{
                
                change_imgurl:function () {
                    this.src_url = "ecfb.jpg"
                }
            }
        })
    
    </script>
    </body>
    </html>

    v-for 循环

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>vue学习</title>
    </head>
    <body>
    
    <div id="app">
        <div>
            <ul>
                <li v-for="item in list">
                    {{item}}
                </li>
            </ul>
        </div>
    </div>
    <!--开发云vue.js-->
    <!--<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>-->
    <!-- 生产环境版本,优化了尺寸和速度 -->
    <!--<script src="https://cdn.jsdelivr.net/npm/vue"></script>-->
    <script src="vue.js"></script>
    <script>
        var app = new Vue({
            el:"#app",
            data:{
                status:true,
                src_url:"",
                list:[1, 2, 3, 4, 5]
    
            }
        })
    
    </script>
    </body>
    </html>

    v-model -- 表单数据双向绑定

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>vue学习</title>
    </head>
    <body>
    <div id="app">
        <input type="text" v-model="message" v-on:keyup.enter="show">
    
    </div>
    
    <!--开发云vue.js-->
    <!--<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>-->
    <!-- 生产环境版本,优化了尺寸和速度 -->
    <!--<script src="https://cdn.jsdelivr.net/npm/vue"></script>-->
    <script src="vue.js"></script>
    <script>
        var app = new Vue({
            el:"#app",
            data:{
                message:"model of test data!"
            },
            methods:{
                show:function () {
                    alert(this.message)
                }
            }
        })
    
    </script>
    </body>
    </html>
  • 相关阅读:
    Windows phone开发 网络编程之HttpWebRequest
    ASP.NET AJAX应用
    Web程序安全机制
    SQLCE本地数据库
    Web服务
    LINQ数据库技术
    windows phone媒体应用开发
    ASP.NET文件操作
    ASP.NET XML文件
    centos6.5安装配置fastdfs+nginx实现分布式图片服务器
  • 原文地址:https://www.cnblogs.com/renfanzi/p/13197803.html
Copyright © 2020-2023  润新知