VUE 基础(二)

1 v-show:根据表达值的真假,切换元素的显示和隐藏

复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
   <div id="app">
    <!-- 三种表达方式 -->
    <!-- 直接固定表达式的真假 -->
        <img type="button" value="v-show" v-show="true">
    <!-- 将表达式的值放在data中   -->
        <img src="xxx" v-show="isShow"> 
    <!-- 也可以通过判断来确定真假 -->
        <img src="xxx" v-show="age>=18">
        <input type="button" value="切换状态" @click="change">   
    </div>

    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
    <script>
        var app=new Vue({
            el:"#app",
            data:{
                isShow:"true",
                age: 16
            },
            methods: {
              change:function(){
                this.isShow=!this.isShow
              }
            },
        })
    </script>
</body>
</html>

2 v-if:根据表达值的真假,切换元素的显示和隐藏(用法大致同v-show 不过多展示)

3 v-bind:设置元素的属性(比如src,title,class)

格式: v_bind:属性名=表达式

复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
   <div id="app">
    <!-- 两种表达方法 -->
      <img src="xxx" >
      <img v-bind:src="imgSrc" >
      <!-- 存在一种简化写法 -->
       <img :src="imgSrc"> //更常用
       <br>
       <img :src="imgSrc" :title="imgTitle+'!'"> //可以字符串拼接
    </div>

    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
    <script>
        var app=new Vue({
            el:"#app",
            data:{
              imgSrc:"xxx",
              imgTitle:"你好呀"
            },
            methods: {
             
            },
        })
    </script>
</body>
</html>

4 v-for:根据数据生成列表结构

复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
   <div id="app">
    <input type="button"  value="添加数据" @click="add">
    <input type="button"  value="减少数据" @click="remove">
        <ul>
            <li v-for="item in arr">{{item}}</li>
            <li v-for="item in vegetables">{{item.name}} </li>
        </ul>
    </div>

    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
    <script>
        var app=new Vue({
            el:"#app",
            data:{
              arr:[1,2,3,4,5],
              vegetables:[
                {name:"西兰花炒蛋"},
                {name:"西红柿炒蛋"}
              ]
            },
            methods: {
                add:function(){
                    this.vegetables.push({name:"胡萝卜炒蛋"});
                },
                remove:function(){
                    this.vegetables.shift();
                }
            },
        })
    </script>
</body>
</html>

5 v-model:获取和设置表单元素的值(双向数据绑定) 通常用于文本内容

绑定后 无论是改变v-model中的值 还是data中的整体的数值都会发生相同的变化

复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
   <div id="app">
       <input type="text" v-model="message">
       <!-- h2标签中的值也同步跟着变化 -->
       <h2>{{message}} </h2>
    </div>

    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
    <script>
        var app=new Vue({
            el:"#app",
            data:{
              message:"你好"
            },
            methods: {
            
            },
        })
    </script>
</body>
</html>
相关推荐
38242782734 分钟前
python:输出JSON
前端·python·json
2503_9284115640 分钟前
12.22 wxml语法
开发语言·前端·javascript
光影少年1 小时前
Vue2 Diff和Vue 3 Diff实现及底层原理
前端·javascript·vue.js
2501_946224311 小时前
旅行记录应用统计分析 - Cordova & OpenHarmony 混合开发实战
javascript·harmonyos·harvester
傻啦嘿哟1 小时前
隧道代理“请求监控”实战:动态调整采集策略的完整指南
前端·javascript·vue.js
JIngJaneIL1 小时前
基于java + vue个人博客系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot
C_心欲无痕1 小时前
vue3 - readonly创建只读的响应式对象
前端·javascript·vue.js
Rabi'1 小时前
编译ATK源码
前端·webpack·node.js
SoaringHeart2 小时前
Flutter组件封装:视频播放组件全局封装
前端·flutter
TAEHENGV2 小时前
进度跟踪模块 Cordova 与 OpenHarmony 混合开发实战
android·javascript·数据库