Vue指令

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Vue指令</title>
<script src="https://cdn.jsdelivr.net/npm/vue"></script>
</head>
<body>
1、v-model双向绑定数据
<div id="app-1">
<p>{{message}}</p>
<input v-model="message">
</div>
<pre style="font-size: 18px;font-weight: bold;color: #373636;background-color: #51A5FC;padding: 15px 0px;">
&lt;div id="app-1"&gt;
  &lt;p&gt;{{message}}&lt;/p&gt;
  &lt;input v-model="message"&gt;
&lt;/div&gt;
&lt;script type="text/javascript"&gt;
  var app1 = new Vue({
    el:'#app-1',
    data:{
      message:'梅花香自苦寒来'
    }
  })
&lt;/script&gt;
</pre>
<br>++++++++++++++++++++++++++++++<br><br>
<script type="text/javascript">
var app1 = new Vue({
el:'#app-1',
data:{
message:'梅花香自苦寒来'
}
})
</script>

2、v-show 显示与隐藏
<div id="app-2">
        <input type="button" value="toggle" v-on:click="toggle()"><br>
        <div v-show="isShow" style="width: 100px;height: 100px;background: #0970D9;"></div>
    </div>
    <pre style="font-size: 18px;font-weight: bold;color: #373636;background-color: #51A5FC;padding: 15px 0px;">
&lt;div id="app-2"&gt;
    &lt;input type="button" value="toggle" v-on:click="toggle()"&gt;&lt;br&gt;
    &lt;div v-show="isShow" style="width: 100px;height: 100px;background: #0970D9;"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;script type="text/javascript"&gt;
var app2 = new Vue({
  el:'#app-2',
  data:{
    isShow:false,
  },
  methods:{
    toggle:function(){
      this.isShow = !this.isShow;
    }
  }
});
&lt;/script&gt;
    </pre>
    <br>++++++++++++++++++++++++++++++<br><br>
<script type="text/javascript">
var app2 = new Vue({
        el:'#app-2',
        data:{
            isShow:false,
        },
        methods:{
            toggle:function(){
                this.isShow = !this.isShow;
            }
        }
    });
</script>

3、v-for循环
<div id="app-3">
    <ul>
        <!--ng-repeat-->
        <li v-for="item in arr">
            <span>{{item.name}}</span>
            <span>{{item.age}}</span>
            <span>{{item.sex}}</span>
        </li>
    </ul>
</div>
<pre style="font-size: 18px;font-weight: bold;color: #373636;background-color: #51A5FC;padding: 15px 0px;">
&lt;div id="app-3"&gt;
    &lt;ul&gt;
        &lt;!--ng-repeat--&gt;
        &lt;li v-for="item in arr"&gt;
            &lt;span&gt;{{item.name}}&lt;/span&gt;
            &lt;span&gt;{{item.age}}&lt;/span&gt;
            &lt;span&gt;{{item.sex}}&lt;/span&gt;
        &lt;/li&gt;
    &lt;/ul&gt;
&lt;/div&gt;
&lt;script type="text/javascript"&gt;
var app3 = new Vue({
      el:'#app-3',
      data:{
              arr:[
                  {"name":"小明","age":12,"sex":"男"},
                  {"name":"小红","age":14,"sex":"女"},
                  {"name":"小三","age":10,"sex":"男"},
                  {"name":"小四","age":19,"sex":"女"}
              ]
      }
})
&lt;/script&gt;
</pre>
<br>++++++++++++++++++++++++++++++<br><br>
<script type="text/javascript">
var app3 = new Vue({
        el:'#app-3',
        data:{
                arr:[
                    {"name":"小明","age":12,"sex":"男"},
                    {"name":"小红","age":14,"sex":"女"},
                    {"name":"小三","age":10,"sex":"男"},
                    {"name":"小四","age":19,"sex":"女"}
                ]
        }
    })
</script>

4、v-if条件渲染   
<div id="app-4">
        <span v-if="flag">
           如果flag为true则显示,false不显示!
        </span>
    </div>
    <pre style="font-size: 18px;font-weight: bold;color: #373636;background-color: #51A5FC;padding: 15px 0px;">
&lt;div id="app-4"&gt;
    &lt;span v-if="flag"&gt;
        如果flag为true则显示,false不显示!
    &lt;/span&gt;
&lt;/div&gt;
&lt;script type="text/javascript"&gt;
    var app4 = new Vue({
        el:'#app-4',
        data:{
            flag:true
        }
    })
&lt;/script&gt;
    </pre>
    <br>++++++++++++++++++++++++++++++<br><br>
<script type="text/javascript">
var app4 = new Vue({
        el:'#app-4',
        data:{
            flag:true
        }
    })
</script>

5、v-else 必须和v-if连用
<div id="app-5">
        <div v-if="Math.random() > 0.5">
        Now you see me
    </div>
    <div v-else>
        Now you don't
    </div>
    <div v-if="num==10">
        num = {{num}}
    </div>
    <div v-else>
        num != 10
    </div>
    </div>
<pre style="font-size: 18px;font-weight: bold;color: #373636;background-color: #51A5FC;padding: 15px 0px;">
&lt;div id="app-5"&gt;
    &lt;div v-if="Math.random() &gt; 0.5"&gt;
        Now you see me
    &lt;/div&gt;
    &lt;div v-else&gt;
        Now you don't
    &lt;/div&gt;
    &lt;div v-if="num==10"&gt;
        num = {{num}}
    &lt;/div&gt;
    &lt;div v-else&gt;
        num != 10
    &lt;/div&gt;
&lt;/div&gt;
&lt;script type="text/javascript"&gt;
    var app5 = new Vue({
        el:'#app-5',
        data:{
            num:10
        }
    })
&lt;/script&gt;
</pre>
    <br>++++++++++++++++++++++++++++++<br><br>
<script type="text/javascript">
var app5 = new Vue({
        el:'#app-5',
        data:{
            num:10
    }
    })
</script>

6、v-else-if  必须和v-if连用
<div id="app-6">
        {{message}}
    <div v-if="message==='A'">
         str = {{message}}
    </div>
    <div v-else-if="message==='B'">
         str = {{message}}
    </div>
    <div v-else-if="message==='C'">
         str = {{message}}
    </div>
    <div v-else>
         str = null
    </div>
    </div>
    <pre style="font-size: 18px;font-weight: bold;color: #373636;background-color: #51A5FC;padding: 15px 0px;">
&lt;div id="app-6"&gt;
    {{message}}
    &lt;div v-if="message==='A'"&gt;
        str = {{message}}
    &lt;/div&gt;
    &lt;div v-else-if="message==='B'"&gt;
        str = {{message}}
    &lt;/div&gt;
    &lt;div v-else-if="message==='C'"&gt;
        str = {{message}}
    &lt;/div&gt;
    &lt;div v-else&gt;
        str = null
    &lt;/div&gt;
&lt;/div&gt;
&lt;script type="text/javascript"&gt;
    var app6 = new Vue({
        el:'#app-6',
        data:{
            message: 'B'
        }
    })
&lt;/script&gt;
    </pre>
    <br>++++++++++++++++++++++++++++++<br><br>
<script type="text/javascript">
var app6 = new Vue({
        el:'#app-6',
        data:{
            message: 'B'
    }
    })
</script>

7、v-bind  动态绑定  作用: 及时对页面的数据进行更改
<div id="app-7">
<!-- v-bind单项绑定 -->
<p v-bind:title="message">
鼠标悬停几秒,可看到此处动态绑定的title!
</p>
<a v-bind:href="url" target="_blank">v-bind链接</a>
</div>
<pre style="font-size: 18px;font-weight: bold;color: #373636;background-color: #51A5FC;padding: 15px 0px;">
&lt;div id="app-7"&gt;
    &lt;!-- v-bind单项绑定 --&gt;
    &lt;p v-bind:title="message"&gt;
        鼠标悬停几秒,可看到此处动态绑定的title!
    &lt;/p&gt;
    &lt;a v-bind:href="url" target="_blank"&gt;v-bind链接&lt;/a&gt;
&lt;/div&gt;
&lt;script type="text/javascript"&gt;
    var app7 = new Vue({
        el:'#app-7',
        data:{
            message:'页面加载于' + new Date().toLocaleString(),
            url:'http://cn.vuejs.org/'
        }
    })
&lt;/script&gt;
</pre>
<br>++++++++++++++++++++++++++++++<br><br>
<script type="text/javascript">
var app7 = new Vue({
            el:'#app-7',
            data:{
                message:'页面加载于' + new Date().toLocaleString(),
                url:'http://cn.vuejs.org/'
        }
        })
</script>

8、v-on  绑定事件  函数必须写在methods里面
<div id="app-8">
<p>{{message}}</p>
<button V-on:click="reverseMessage">翻转message</button>
</div>
<pre style="font-size: 18px;font-weight: bold;color: #373636;background-color: #51A5FC;padding: 15px 0px;">
&lt;div id="app-8"&gt;
    &lt;p&gt;{{message}}&lt;/p&gt;
    &lt;button V-on:click="reverseMessage"&gt;翻转message&lt;/button&gt;
&lt;/div&gt;
&lt;script type="text/javascript"&gt;
    var app8 = new Vue({
        el:'#app-8',
        data:{
            message:'桃花庵里桃花仙,桃花仙人种桃树'
        },
        methods:{
            reverseMessage:function(){
                this.message = this.message.split('').reverse().join('')
            }
        }
    })
&lt;/script&gt;
</pre>
<br>++++++++++++++++++++++++++++++<br><br>
<script type="text/javascript">
var app8 = new Vue({
            el:'#app-8',
            data:{
message:'桃花庵里桃花仙,桃花仙人种桃树'
},
methods:{
reverseMessage:function(){
this.message = this.message.split('').reverse().join('')
}
}
        })
</script>

9、v-text  解析文本
<div id="app-9">
<p>{{msg}}</p>
<p v-text="msg1"></p>  <!-- 网速慢看不见花括号-->
<p v-text="msg2"></p>  <!-- 不解析html-->
</div>
<pre style="font-size: 18px;font-weight: bold;color: #373636;background-color: #51A5FC;padding: 15px 0px;">
&lt;div id="app-9"&gt;
    &lt;p&gt;{{msg}}&lt;/p&gt;
    &lt;p v-text="msg1"&gt;&lt;/p&gt;  &lt;!-- 网速慢看不见花括号--&gt;
    &lt;p v-text="msg2"&gt;&lt;/p&gt;  &lt;!-- 不解析html--&gt;
&lt;/div&gt;
&lt;script type="text/javascript"&gt;
    var app9 = new Vue({
        el:'#app-9',
        data:{
            msg:'这个是{{msg}}的输出',
            msg1:'v-text文本输出',
            msg2:'&lt;strong&gt;welcome&lt;/strong&gt;不解析v-text文本输出'
        }
    })
&lt;/script&gt;
</pre>
<br>++++++++++++++++++++++++++++++<br><br>
<script type="text/javascript">
var app9 = new Vue({
            el:'#app-9',
            data:{
msg:'这个是{{msg}}的输出',
msg1:'v-text文本输出',
msg2:'<strong>welcome</strong>不解析v-text文本输出'
}
        })
</script>

10、v-html  解析html标签
<div id="app-10">
<p>{{msg}}</p>
<p v-html="msg1"></p> <!-- 解析html-->
<p v-html="msg2"></p> <!-- 解析html-->
</div>
<pre style="font-size: 18px;font-weight: bold;color: #373636;background-color: #51A5FC;padding: 15px 0px;">
&lt;div id="app-10"&gt;
    &lt;p&gt;{{msg}}&lt;/p&gt;
    &lt;p v-html="msg1"&gt;&lt;/p&gt; &lt;!-- 解析html--&gt;
    &lt;p v-html="msg2"&gt;&lt;/p&gt; &lt;!-- 解析html--&gt;
&lt;/div&gt;
&lt;script type="text/javascript"&gt;
    var app10 = new Vue({
        el:'#app-10',
        data:{
            msg:'welcome',
            msg1:'&lt;h1&gt;121212&lt;/h1&gt;',
            msg2:'&lt;strong&gt;Hello World!&lt;/strong&gt;'
        }
    })
&lt;/script&gt;
</pre>
<br>++++++++++++++++++++++++++++++<br><br>
<script type="text/javascript">
var app10 = new Vue({
        el:'#app-10',
                data:{
msg:'welcome',
msg1:'<h1>121212</h1>',
msg2:'<strong>Hello World!</strong>'
}
    })
</script>

11、v-cloak防闪烁
<div id="app-11">
    <div v-cloak="">欢迎--{{msg}}</div>
</div>
<pre style="font-size: 18px;font-weight: bold;color: #373636;background-color: #51A5FC;padding: 15px 0px;">
&lt;div id="app-11"&gt;
    &lt;div v-cloak=""&gt;欢迎--{{msg}}&lt;/div&gt;
&lt;/div&gt;
&lt;script&gt;
    var app11 = new Vue({
        el:"#app-11",
        data:{
            msg:"111111"
        }
    })
&lt;/script&gt;
</pre>
<br>++++++++++++++++++++++++++++++<br><br>
<script>
    var app11 = new Vue({
        el:"#app-11",
        data:{
            msg:"111111"
        }
    })
</script>

12、v-pre  把标签内部的元素原位输出
<div id="app-12">
   <p v-pre>{{ this will not be compiled }} + 'msg'</p>
</div>
<pre style="font-size: 18px;font-weight: bold;color: #373636;background-color: #51A5FC;padding: 15px 0px;">
&lt;div id="app-12"&gt;
    &lt;p v-pre&gt;{{ this will not be compiled }} + 'msg'&lt;/p&gt;
&lt;/div&gt;
&lt;script&gt;
    var app12 = new Vue({
        el:"#app-12",
        data:{
            msg: 'Hello World!'
        }
    })
&lt;/script&gt;
</pre>
<br>++++++++++++++++++++++++++++++<br><br>
<script>
    var app12 = new Vue({
        el:"#app-12",
        data:{
            msg: 'Hello World!'
        }
    })
</script>

附送一个小案例:<br>
<div id="picImg">
<img v-bind:src="src">
</div>
<pre style="font-size: 18px;font-weight: bold;color: #373636;background-color: #51A5FC;padding: 15px 0px;">
&lt;div id="picImg"&gt;
&nbsp;&nbsp;&lt;img v-bind:src="src"&gt;
&lt;/div&gt;
&lt;script&gt;
    var app14 = new Vue({
        el:"#picImg",
        data:{
            src:'lb_pic.png'  //这里按照正常引入图片的路径填写就好
        }
    })
&lt;/script&gt;
</pre>
<br>++++++++++++++++++++++++++++++<br><br>

<script>
    var app14 = new Vue({
        el:"#picImg",
        data:{
            src:'lb_pic.png'
        }
    })
</script>
</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值