Vue基本指令语法

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>

    <style type="text/css">
        [v-cloak] {
            display: none;
        }
    </style>

    <!-- 引入vue.js -->
    <script src="js/vue.js" type="text/javascript"></script>

</head>
<body>
    
    <div id="app">

        <!-- 插值 -->
        <div v-cloak>{{ msg }}</div>


        <!-- 数据绑定指令 将数据填充到标签中-->
        <!-- v-text填充纯文本 -->
        <div v-text="msg"></div>

        <!-- v-html填充html 片段   1、存在安全问题  2、本网站内的数据可以使用,第三方的数据不可用-->
        <div v-html="msg1"></div><br/>


        <!-- v-pre 填充原始信息     显示原始信息 ,跳过编译过程(分析编译过程)-->
        <div v-pre>{{ msg1 }}</div> 


        <!-- 数据响应式  -->
        <div>{{ msg }}</div>
        <!-- v-once只编译一次     显示内容不再具有响应式功能-->
        <div v-once>{{ msg }}</div><br/>

        <div>{{ msg1 }}</div>
        <!-- v-model双向数据绑定指令数   这里的变化会导致上面的内容跟着变化     mvvm设计思想-->
        <input type="text" v-model="msg1" /><br/><br/>

        <!-- 事件绑定 -->
        <div>{{ num }}</div>
        <!-- v-on指令用法 -->
        <button v-on:click="num++">点我1</button>
        <!-- v-on简写形式 -->
        <button @click="num++">点我2</button>
        <button @click="handle">点我3</button>
        <!-- 时间函数的调用方式     事件函数参数传递    最后一个参数永远都是$event-->
        <button @click="handle('123','456',$event)">点我4</button><br/>

        <div v-on:click="handle1">
            <!-- <button v-on:click="handle2">点我5</button> -->

            <!-- 阻止冒泡 只执行当前本身,与之关联的不会执行 阻止向上走-->
            <button v-on:click.stop="handle2">点我5</button>
        </div>

        <!-- 阻止当前的默认行为 -->
        <a href="http://www.baidu.com" v-on:click.prevent="handle3">百度</a>

        <div>
            <!-- 按键修饰符 -->
            <input type="text" v-model="username" v-on:keyup.enter="handle4" />

            <!-- 事件修饰符 -->
            <input type="text" v-model="pass" v-on:keyup.delete="handle5"/>
            
            <!-- 自定义按键修饰符 -->
            <input type="text" v-model="pass" v-on:keyup.f1="handle6"/>
        </div>

        <div>
            <!-- v-bing指令用法 -->
            <a v-bind:href="test">百度</a>
            <!-- v-bing指令用法 的缩写形式-->
            <a :href="test">百度</a>
        </div>


        <!-- v-bing 和 v-on:input 来实现v-model这个双向数据绑定 -->
        <div>
            <input type="text" v-bind::value="info" v-on:input="handle7"/>{{ info }}
        </div>

    </div>


    <script type="text/javascript">

        Vue.config.keyCodes.f1 = 65

        // 实例化vue对象
        var vm=new Vue({
            // el  代表element  对应上方id=“app”
            el:'#app',
            // data 代表的是对象
            data:{
                // key  value值
                msg:'HelloWorld!',
                msg1:"<h2>hello vue</h2>",
                num:0,

                username:"hello",
                pass:"hello",
                test:'http://www.baidu.com',
                info:""
            },

            // 对应的函数方法   vue 专门的一套方式  用来写函数的
            methods: {
                // 对应上边的handle函数     ()括号里边是对应的参数
                handle:function(p,p1,event){
                    console.log(this==vm);

                    console.log(p);
                    console.log(p,p1);
                    // 代表本身的一个对象
                    console.log(event.target.innerHTML);

                    //this 当前这个对象
                    this.num++;
                },
                handle1:function(){
                    this.num++;
                },
                handle2:function(){

                },
                handle4:function(){
                    console.log(this.username)
                },
                handle5:function(){
                    this.pass=""
                },
                handle6:function(event){
                    //看输入的值
                    console.log(event.target.value)
                    //看对应的编码值
                    console.log(event.keyCode)
                },
                handle7:function(event){
                    this.info=event.target.value;
                }
            }
        })
    </script>


</body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值