几分钟带你回顾vue最基础的

几分钟带你回顾vue基础

Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。

v-html

v-html 指令用于输出 html 代码

<body>
    <div id="d1"> 
       <!-- {{ myDiv}} -->
       <div v-html="myDiv"></div>
    </div>
    <script src="vue.js"></script>
    <script>
        new Vue({
            el:'#d1',
            data:{
                myDiv:'<h1>Hi</h1>'
            }
        })
    </script>
</body>

v-bind

HTML 属性中的值应使用 v-bind 指令。

<body>
    <div id="d1">
        <!-- <img v-bind:src="srcUrl"> -->
        <img :src="srcUrl">
    </div>
    <script src="vue.js"></script>
    <script>
        new Vue({
            el:'#d1',
            data:{
                srcUrl:'./img/3.jpg'
            },
            mounted(){
                //这个this必须要:它指当前的vm实例
                this.srcUrl = './img/4.jpg'
            }
        })
    </script>
</body>

v-model

v-model 指令用来在 input、select、textarea、checkbox、radio 等表单控件元素上创建双向数据绑定,根据表单上的值,自动更新绑定的元素的值。

<body>
    <!-- 数据双向绑定 -->
    <div id="d1">
        <input type="text"  value="" v-model="userName">
        <p>{{userName}}</p>
    </div>
    <script src="vue.js"></script>
    <script>
        let vm = new Vue({
            el: '#d1',
            data:{
                
                  userName:'admain'
                
            }
        })
    </script>
</body>

v-on

v-on 指令,它用于监听 DOM 事件

<body>
    <div id="d1">
        <input type="text" v-model="num">
        <input type="button" value="+1" v-on:click='add'/>
        <input type="button" value="-1" @click='sub'/>
    </div>
    <script src="vue.js"></script>
    <script>
        new Vue({
            el:'#d1',
            data:{
                num:1
            },
            //将num进行操作
            //methods:用来写页面需要的的方法的配置项
            methods:{
                add:function(){
                    this.num +=1
                    //this.num = this.num+1
                },

                sub(){
                    this.num -= 1
                }
            }
        })
    </script>
</body>

v-once

<body>
    <div id="d1">
       
        <p v-once> {{msg}}</p>
    </div>
    <script src="vue.js"></script>
    <script>
        new Vue({
            el:'#d1',
            data:{
                msg:'最初的梦想:干饭'
            },
            mounted(){
                this.msg = '后来成了程序员'
            }
         

        })
    </script>
</body>

v-pre

<body>
    <div id="d1">
        <!-- {{userName}} -->
        <p v-text='nuerName'></p>
    </div>
    <script src="vue.js"></script>
    <script>
        new Vue({
            el:'#d1',
            data:{
                userName:'admin'
            }
        })
    </script>
</body>

缩写

Vue.js 为两个最为常用的指令提供了特别的缩写:
v-bind缩写
完整语法:

缩写:
v-on缩写
完整版:

缩写:
<a @click=“doSomething”>

操作style

<body>
    <div id="app">
        <!-- <p :style='pStyle'>如果上天能给我一个再来一次的机会</p> -->
        <!-- <p :style='[pStyle,zsty]'>如果上天能给我一个再来一次的机会</p> -->
        <p :style='{border:borderSty}'>如果上天能给我一个再来一次的机会</p>
    </div>
    <script src="vue.js"></script>
    <script>
        new Vue({
            el:'#app',
            data:{
                pStyle:{
                    'font-size':'30px',
                    color:'pink'//值必须加引号
                },
                // zsty:{
                //     'font-size':'30px'
                // },
                borderSty:'2px solid red'
                
            }
        })
    </script>
</body>

类名操作样式

 <style>
        .to{
            color: aquamarine;
        }
        .bagc{
            background-color: pink;
        }
    </style>
</head>
<body>
    <div id="d1">
        <p :class="{to:isHas}">我会改变哟</p>
        <input type="button" value="改变自己" @click="changgeClass">
    </div>
    <script src="vue.js"></script>
    <script>
        new Vue({
            el:'#d1',
            data:{
                isHas:true,
                colzi:'to'
            },
            methods:{

            }
        })
    </script>

事件修饰符

 <div id="app">
        <a href="https://www.baidu.com/" @click。prevent='mgAlert'>点击</a>
    </div>
    <!-- 冒泡 -->
    <div id="divCl">
        <button @click.stop='btnCl'>点击</button>
    </div>
    
    <!-- 按键修饰符 -->
    <script src="vue.js"></script>
    <script>
        new Vue({
            el:'#app',
            data:{
                nick
            },
            methods:{
                mgAlert(e){
                    //z阻止默认行为
                    // e.preventDefault();
                    //只专注于自己的操作
                    alert('被点倒了')
                },
                divCl(){
                    console.log('div');
                },
                btnCl(){
                    console.log('btn');
                },
                
            }
        })
    </script>

if&show

条件判断使用 v-if 指令

<div id="app">
    <p v-if="seen">hey,看</p>
    <template v-if="ok">
      <p>啊啊啊啊啊啊啊</p>
      <p>哇哇哇哇哇</p>
    </template>
</div>
    
<script>
new Vue({
  el: '#app',
  data: {
    seen: true,
    ok: true
  }
})
</script>
<h1 v-show="ok">Hello!</h1>
<body>
    <div id="d1">
        <button @click='changeShow'>显示图片</button>
        <!-- <div v-show='isShow'>
            <img src="./img/3.jpg" >
        </div> -->
        <div v-if='isShow'>
            请登录
        </div>
        <div v-else>
            用户:aa已登录呢
        </div>
    </div>
    <script src="vue.js"></script>
    <script>
        new Vue({
            el:'#d1',
            data:{
                isShow:true//布尔值
            },
            methods:{
                changeShow(){
                    this.isShow = !this.isShow
                }
            }
        })
    </script>
</bod

v-text

<body>
    <div id="d1">
        <!-- {{userName}} -->
        <p v-text='nuerName'></p>
    </div>
    <script src="vue.js"></script>
    <script>
        new Vue({
            el:'#d1',
            data:{
                userName:'admin'
            }
        })
    </script>
</body>

vue

<div id="d1">
        <p v-clock>{{msg+1+1+1+1+1+1+1+1+1+1}}</p>
    </div>
    <script src="vue.js"></script>
    <script>
        let vm = new Vue({
            el: '#d1',
            data:{
                
                    msg:'hello world'
                
            }
        })
    </script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值