前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >vue 的一些指令记录

vue 的一些指令记录

作者头像
王小婷
发布2022-09-28 09:20:52
8270
发布2022-09-28 09:20:52
举报
文章被收录于专栏:编程微刊

学习官网: https://cn.vuejs.org/index.html

GitHub:https://github.com/vuejs/vue star:31.6k

v-if v-for v-model v-bind v-on

v-if 使用条件与循环来控制切换一个元素是否显示
代码语言:javascript
复制
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
        <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
    </head>
    <body>
    
        
        <div id="app">
          <p v-if="seen">true就是可以看见</p>
        </div>
        
        
    </body>
    <script>
    
    
    var app = new Vue({
      el: '#app',
      data: {
        seen: true
      }
    })
    </script>
</html>

seen的值为true的时候 显示页面的文字 seen的值为false的时候 隐藏页面的文字

v-for 指令 绑定数组的数据来渲染一个项目列表
代码语言:javascript
复制
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
        <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
    </head>
    <body>
    
        
        <div id="app-4">
          <ol>
            <li v-for="todo in todos">
              {{ todo.text }}
            </li>
          </ol>
        </div>
        
        
    </body>
    <script>
    
    
    var app4 = new Vue({
      el: '#app-4',
      data: {
        todos: [
          { text: '学习 JavaScript' },
          { text: '学习 Vue' },
          { text: '整个牛项目' }
        ]
      }
    })
    </script>
</html>
v-model 指令,表单输入和应用状态之间的双向绑定。
代码语言:javascript
复制
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
        <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
    </head>
    <body>
    
        
    <div id="app-6">
      <p>{{ message }}</p>
      <input v-model="message">
    </div>
        
        
    </body>
    <script>
    
    
    var app6 = new Vue({
      el: '#app-6',
      data: {
        message: 'Hello Vue!'
      }
    })
    </script>
</html>
v-bind 主要用于属性绑定

v-bind 绑定属性

代码语言:javascript
复制
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
        <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
    </head>
    <body>
    
    <div id="app-2">
      <span v-bind:title="message">
        鼠标悬停几秒钟查看此处动态绑定的提示信息!
      </span>
    </div>
        
    </body>
    <script>
    
    var app2 = new Vue({
      el: '#app-2',
      data: {
        message: '页面加载于 ' + new Date().toLocaleString()
      }
    })
    </script>
</html>

v-bind 缩写

代码语言:javascript
复制
<!-- 完整语法 -->
<a v-bind:href="url">...</a>

<!-- 缩写 -->
<a :href="url">...</a>

<!-- 动态参数的缩写 (2.6.0+) -->
<a :[key]="url"> ... </a>
v-on :用于绑定事件的

v-on 指令添加一个事件监听器 v-on:后面的值是一个方法,可以写成myclick(),没有参数可以写成myclick。

代码语言:javascript
复制
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
        <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
    </head>
    <body>
    
    <div id="app">
     <button v-on:click="myclick">click me</button>
    </div>
        
    </body>
    <script>
    
    var app2 = new Vue({
      el: '#app',
      data: {
        
      },
       methods:{
              myclick:function(){
                  alert(1);
              }
          }
    })
    </script>
</html>

v-on 缩写

代码语言:javascript
复制
<!-- 完整语法 -->
<a v-on:click="doSomething">...</a>

<!-- 缩写 -->
<a @click="doSomething">...</a>

<!-- 动态参数的缩写 (2.6.0+) -->
<a @[event]="doSomething"> ... </a>
v-on 绑定多个事件

v-on也可以绑定多个事件 多个事件可以单独多个v-on绑定

v-on也可以绑定多个事件 多个事件可以单独多个v-on绑定

代码语言:javascript
复制
<div class="app">
    <button v-on:mouseenter='onenter' v-on:mouseleave='leave'>click me</button>
</div>  

也可以使用一个v-on,里头用对象的形式书写,对象的键名就是事件名,对象的键值就是对应事件要执行的方法。多个事件之间通过,分开

代码语言:javascript
复制
<div class="app">
    <button v-on="{mouseenter:onenter,mouseleave:leave}">click me</button>
</div>  

当然也可以混合使用

代码语言:javascript
复制
<div class="app">
    <button v-on="{mouseenter:onenter,mouseleave:leave}" v-on:click="myclick">click me</button>
</div>  
代码语言:javascript
复制
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
        <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
    </head>
    <body>
    
    <div id="app">
     <button v-on:mouseenter='onenter' v-on:mouseleave='leave'>click me</button>
      <button v-on="{mouseenter:onenter,mouseleave:leave}">click me</button>
    <button v-on="{mouseenter:onenter,mouseleave:leave}" v-on:click="myclick">click me</button>
    </div>
        
    </body>
    <script>
    
    var app2 = new Vue({
      el: '#app',
      data: {
        
      },
       methods:{
              myclick:function(){
                  alert("clicked");
              },
              onenter:function(){
                  alert("mouseented");
              },
              leave:function(){
                 alert("mouseleaved");
              }
          }
    })
    </script>
</html>
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-09-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • v-if 使用条件与循环来控制切换一个元素是否显示
  • v-for 指令 绑定数组的数据来渲染一个项目列表
    • v-model 指令,表单输入和应用状态之间的双向绑定。
      • v-bind 主要用于属性绑定
      • v-bind 缩写
        • v-on :用于绑定事件的
          • v-on 绑定多个事件
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档