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>
相关推荐
不可求~5 小时前
多模型路由怎么落地:把任务分流写进项目的最小实现
java·前端·数据库
AC赳赳老秦8 小时前
公开图片 OCR 数据提取:OpenClaw 合规采集公开信息图,识别文字与表格并转化为结构化数据
java·大数据·前端·数据库·python·php·openclaw
谢慧琼8 小时前
2026零基础做企业网站,低成本搭建官方网站
服务器·前端·javascript
weixin_431600449 小时前
前端数据埋点(1):一次点击如何变成一条埋点
前端·js·数据埋点
IT_陈寒9 小时前
Python线程池吞了异常还不告诉我,这谁顶得住啊
前端·人工智能·后端
计算机魔术师10 小时前
同样是AI辅助建造,为什么有的游戏三个月就烂尾了?
前端
用户9210802628610 小时前
0. 做 Agent 产品,前端 AI 组件框架怎么选?
前端
拾年27511 小时前
React Hooks 进阶篇:useMemo / useCallback / useReducer / useImperativeHandle,用「算账 +
前端·javascript·react.js
Jackson__11 小时前
面试官:如何在老项目中使用新框架,并实现通信?
前端·javascript·面试