vue的插值语法,vue指令系统,style和class

news2024/9/22 11:34:43

官网:https://cn.vuejs.org/
文档3:https://cn.vuejs.org/
文档2:https://v2.cn.vuejs.org/

M-V-VM架构

mvvm   前端vue架构
    M:model 数据层
    V:view 用户视图层
    VM:viewmodel 连接数据和视图的中间层

插值语法

渲染变量
    {{  }}              {{ 变量、js语法、三目表达式,函数加括号 }}

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="./js/vue.js"></script>
</head>
<body>
<div id="app">
    <p>姓名:{{name}}</p>
    <p>年龄:{{age}}</p>
    <p>数组显示:{{list1}}</p>
    <p>数组取值:{{list1[1]}}</p>
    <p>对象显示:{{obj1}}</p>
    <p>对象取值:{{obj1.name}}</p>
    <p>对象取值:{{obj1['age']}}</p>
    <p>显示标签:{{link1}}</p>
    <p>简单js:{{4 + 5 + age}}</p>
    <p>三目运算符:{{score > 90 ? '优秀' : '不优秀'}}</p>

</div>
</body>
<script>
    var vm = new Vue({
        el: '#app',
        data: {
            name: 'lqz', // 字符串
            age: 18, // 数子
            list1: [1, 2, 3, 4],   // 数组
            obj1: {name: '彭于晏', age: 19}, // 对象
            link1: '<a href="https://www.baidu.com">百度一下 你就知道</a>',
            score: 99
        }
    })
</script>
</html>

文本指令

# vue 的指令系统
    -1 写在标签上
    -2 以 v- 开头 都称之为vue的指令,有特殊含义
# 文本指令主要用来操作文本
    v-text:把文字渲染到标签内
    v-html:把文字渲染到标签内,如果是标签会渲染标签
    v-show:控制标签显示与否,隐藏
    v-if:控制标签显示与否,真的删除

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="../js/vue.js"></script>
</head>
<body>
<div id="d1">
    <div v-text="name"></div>
    <div v-html="html"></div>
    <div v-show="show">555</div>
    <div v-if="if_show">666</div>
</div>
</body>
<script>
    var cm = new Vue({
        el:'#d1',
        data:{
            name:'Lcaruser',
            html:'<a href="https://www.cnblogs.com/scx-xiaochun/category/2233825.html">学技术养活自己</a>',
            show:true,
            if_show:true
        }
    })
</script>
</html>

事件指令

# 点击,双击,滑动,输入 事件

# 目前先讲点击事件
    v-on:事件名='handleChange'
    v-on:click ='handleChange'
    简写成(用的多)
    @click='handleChange'
    方法必须放在methods中
      methods: {
            handleChange: function () {
                this.show = !this.show  // ! 取反
            }
        }

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="../js/vue.js"></script>
</head>
<body>
    <div id="d1">
        <button @click="handleChange">点击隐藏图片</button>
        <br>
        <img src="../img/1.png" alt="" v-show="show">
        <br>
        <p @click="handleP(name)">点我带参数</p>
        <p @click="handleP('lyz','18')">点我看参数</p>
    </div>
</body>
<script>
    var vm = new Vue({
        el:'#d1',
        data:{
            show:true,
            name:'lyz'
        },
        methods:{
            handleChange:function () {
                this.show=!this.show
            },
            handleP:function (name,age) {
                alert('名字:'+name+'年龄:'+age)
            }
        }
    })
</script>
</html>

属性指令

# 控制属性的
v-bind:属性名='值'
# 可以简写成
:属性='值'

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="../js/vue.js"></script>
</head>
<body>
    <div id="d1">
        <img :src="img" alt="">
        <p :id="p_id">555</p>
    </div>
</body>
<script>
    var vm = new Vue({
        el: '#d1',
        data:{
            p_id:'d2',
            img:'https://img2.baidu.com/it/u=1284413808,930446668&fm=253&app=138&size=w931&n=0&f=JPEG&fmt=auto?sec=1704560400&t=5726af44bd415143e7d65aeaebd5a2c0'
        }
    })
</script>
</html>

换图片小案例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="../js/vue.js"></script>
</head>
<body>
    <div id="d1">
        <button @click="handleChange">点击换图片</button>
        <br>
        <img :src="img_change" alt="">
    </div>
</body>
<script>
    var vm = new Vue({
        el:'#d1',
        data:{
            img_change:'../img/1.png',
        },
        methods:{
            handleChange:function () {
                var c=Math.ceil(Math.random()*2)
                this.img_change=`../img/${c}.png`
            }
        }
    })
</script>
</html>

条件渲染

  v-if  v-else-if  v-else
    就是判断,符合哪个条件,就显示哪个标签

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="./js/vue.js"></script>
</head>
<body>
<div id="app">
    <p v-if="score>=90&&score<=100">优秀</p>
    <p v-else-if="score>=70&&score<90">良好</p>
    <p v-else-if="score>=60&&score<70">及格</p>
    <p v-else>不及格</p>
</div>
</body>
<script>
    var vm = new Vue({
        el: '#app',
        data: {
            score: 91
        },
    })
</script>
</html>

v-for循环数组,字符串,数字,对象

小案例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="../js/vue.js"></script>
    <link href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<div id="app" class="bs-docs-section">
    <table class="table">
        <thead>
        <tr>
            <th>用户名</th>
            <th>年龄</th>
            <th>用户身份</th>
        </tr>
        </thead>
        <tbody>
        <tr v-for="i in user_list">
            <th>{{ i.username }}</th>
            <th>{{ i.age }}</th>
            <th v-if="i.type==1">超级管理员</th>
            <th v-else-if="i.type==2">普通管理员</th>
            <th v-else>普通用户</th>
        </tr>
        </tbody>
    </table>
</div>
</body>
<script>
    var vm = new Vue({
        el: '#app',
        data: {
            user_list: [
                {username: 'lqz', age: 19, type: 1},
                {username: '彭于晏', age: 19, type: 2},
                {username: '刘亦菲', age: 19, type: 3},
                {username: '迪丽热巴', age: 19, type: 1},
            ]
        },
    })
</script>
</html>

style和class

小案例:属性指令控制class

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="../js/vue.js"></script>
    <style>
        .red {
            background-color: red;
        }
        .green {
            background-color: green;
        }
    </style>
</head>
<body>
<div id="d1">
    <button @click="handleChangeBack">点击切换背景颜色</button>
    <div :class="back">
        我是div
    </div>
</div>
</body>
<script>
    var vm = new Vue({
        el: '#d1',
        data: {
            back: 'green',
        },
        methods: {
            handleChangeBack: function () {
                this.back = this.back == 'green' ? 'red' : 'green'
            }
        }
    })
</script>
</html>

style和class可以绑定的数据类型

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="../js/vue.js"></script>
    <style>
        .background {
            background: #4cae4c;
        }

        .fontsize {
            font-size: 60px;
        }

        .back {
            color: #985f0d;
        }
    </style>
</head>
<body>
<h1>class可以绑定的类型</h1>
<div id="d1">
    <button @click="handleChange1">点我是字符串形式</button>
    <div :class="str_class">
        我是div
    </div>
    <button @click="handleChange2">点我是数组形式</button>
    <div :class="list_class">
        我是div
    </div>
    <button @click="handleChange3">点我是对象形式</button>
    <div :class="obj_class">
        我是div
    </div>
    <h1>style可以绑定的类型</h1>
    <button @click="handleChange4">字符串形式</button>
    <div :style="str_style">
        我是div
    </div>
    <button @click="handleChange5">数组形式</button>
    <div :style="list_style">
        我是div
    </div>
    <button @click="handleChange6">对象形式</button>
    <div :style="obj_style">
        我是div
    </div>
</div>
</body>
<script>
    var vm = new Vue({
        el: '#d1',
        data: {
            str_class: 'background',
            list_class: ['background'],
            obj_class: {'background': true, 'fontsize': false, 'back': false},
            str_style: 'background-color: yellow',
            list_style: [{'background-color': 'yellow'}],
            obj_style: {backgroundColor: 'yellow'}
        },
        methods: {
            handleChange1: function () {
                this.str_class = this.str_class + ' fontsize' + ' back'
            },
            handleChange2: function () {
                this.list_class.push('fontsize', 'back')
            },
            handleChange3: function () {
                this.obj_class.fontsize = true
                this.obj_class.back = true
            },
            handleChange4: function () {
                this.str_style = this.str_style + ';font-size: 60px' + ';color: #985f0d'
            },
            handleChange5: function () {
                this.list_style.push({'font-size': '60px'}, {'color': '#985f0d'})
            },
            handleChange6: function () {
                this.obj_style['font-size'] = '60px',
                this.obj_style['color'] = '#985f0d'
            }
        }
    })
</script>
</html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1361007.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

技术概述:ARMv8体系结构

John Goodacre, Director Program Management ARM Processor Division, November 2011 背景&#xff1a;ARM体系结构 从ARM精简指令集体系结构提出到现在已经有20多年了&#xff1b;ARMv7系列处理器是在ARMv4基础上设计的&#xff0c;随着ARMv7系列处理器大量应用&#xff0…

每天一杯羊奶,让身体更健康

每天一杯羊奶&#xff0c;让身体更健康 羊奶作为一种天然的健康饮品&#xff0c;越来越受到人们的关注和喜爱。它不仅口感醇厚&#xff0c;营养丰富&#xff0c;而且具有独特的保健功效。今天&#xff0c;小编羊大师带大家详细介绍一下每天喝一杯羊奶对身体的好处。 羊奶中的…

首发!全志T527第一款核心板,高性能8核处理器带AI NPU

今天&#xff0c;米尔电子联合战略合作伙伴全志科技&#xff0c;隆重发布第一款T527核心板及开发板。基于全志T527高性能可选AI功能MPU&#xff0c;配备八核A55高性能处理器&#xff0c;RISC-V协处理器&#xff0c;支持2Tops NPU&#xff0c;满足边缘智能AI加速应用&#xff1b…

“奶茶妹妹”章泽天被曝生双胞胎,偷拍照流出

♥ 为方便您进行讨论和分享&#xff0c;同时也为能带给您不一样的参与感。请您在阅读本文之前&#xff0c;点击一下“关注”&#xff0c;非常感谢您的支持&#xff01; 文|猴哥聊娱乐 编辑|侯欢庭 去年九月的某一天&#xff0c;一位网友在国外的一家商场偶遇了章泽天和刘强东…

QT5.14 实现ModbusTCP客户端 Demo

本文在QT5.14平台&#xff0c;基于QModbusClientTcp类&#xff0c;实现了客户端对单个寄存器的读写&#xff0c;用ModbusSlave做服务器做测试。 1.界面 (1)更改读按钮的名称为bt_Read (2)更改写按钮的名称为bt_Write 2.修改pro文件的第三行 greaterThan(QT_MAJOR_VERSION, 4)…

13. 强化学习编程实验1-在格子世界中寻宝(1)

文章目录 1.实验目的2.任务描述3.任务分析3.1 待求问题是多步决策问题否3.2 问题求解过程是一个马尔科夫决策过程3.3 状态空间S的确定3.4 动作空间A的确定3.5 状态转移概率P的确定3.6 立即回报R的确定3.7 折扣 γ \gamma γ的确定 4. 编程架构4.1 程序中有哪些对象和类4.2 环境…

网络摄像机的网络连接

网络摄像机的网络连接 1. 网络连接2. 网络直通线和网络交叉线的制作方法References 1. 网络连接 网络摄像机完成安装后&#xff0c;需要进行功能的配置及参数的设置&#xff0c;您可以通过浏览器进行相关功能的配置。 有线网络连接 左侧为通过网络直通线连接的示意图&#x…

注水算法—功率分配

最近一直在学习一位学姐的知乎文章&#xff0c;文章链接放到下面了。 无线通信多用户MISO系统的发射功率最小化问题 这里面涉及到了注水算法&#xff0c;为了学习的更明白&#xff0c;写这篇博客方便以后能快速记起&#xff0c;如果内容有问题的地方&#xff0c;欢迎在评论区…

ref hook之useRef

一、useRef useRef函数&#xff1a; 1.一个参数&#xff1a;默认值 2.返回一个固定的对象&#xff08;对象的地址是不会变化的&#xff09;&#xff0c;{current: 值} import React, { useState } from reactexport default function App() {const inpRef React.createRef(…

深入理解Vue3中的自定义指令

Vue3是一个流行的前端框架&#xff0c;它引入了许多新特性和改进&#xff0c;其中之一是自定义指令。自定义指令是一种强大的功能&#xff0c;可以让开发者在模板中直接操作 DOM 元素。本文将深入探讨 Vue3中的自定义指令&#xff0c;包括自定义指令的基本用法、生命周期钩子函…

C#,归并排序算法(Merge Sort Algorithm)的源代码及数据可视化

归并排序 归并算法采用非常经典的分治策略&#xff0c;每次把序列分成n/2的长度&#xff0c;将问题分解成小问题&#xff0c;由复杂变简单。 因为使用了递归算法&#xff0c;不能用于大数据的排序。 核心代码&#xff1a; using System; using System.Text; using System.Co…

用友U8 Cloud smartweb2.RPC.d XML外部实体注入漏洞

产品介绍 用友U8cloud是用友推出的新一代云ERP&#xff0c;主要聚焦成长型、创新型、集团型企业&#xff0c;提供企业级云ERP整体解决方案。它包含ERP的各项应用&#xff0c;包括iUAP、财务会计、iUFO cloud、供应链与质量管理、人力资源、生产制造、管理会计、资产管理&#…

PHPStudy快速搭建网站并结合内网穿透远程访问本地站点

文章目录 [toc]使用工具1. 本地搭建web网站1.1 下载phpstudy后解压并安装1.2 打开默认站点&#xff0c;测试1.3 下载静态演示站点1.4 打开站点根目录1.5 复制演示站点到站网根目录1.6 在浏览器中&#xff0c;查看演示效果。 2. 将本地web网站发布到公网2.1 安装cpolar内网穿透2…

第九节HarmonyOS 常用基础组件6-progress

1、描述 进度条组件用于显示内容加载或操作处理等进度。 2、接口 Progress(options:{value:number,total?Number, type?:ProgressType}) 参数&#xff1a; 参数名 参数类型 必填 参数描述 value number 是 指定当前进度值。设置小于0的数值时置为0&#xff0c;设置…

AWTK 开源串口屏开发(5) - MCU端 SDK 用法

AWTK 开源智能串口屏&#xff0c;不但开放了串口屏端全部源码&#xff0c;还提供了MCU 端 SDK&#xff0c;大大加快 MCU 软件的开发。本介绍一下 MCU 端 SDK 在不同平台上的用法。 完整示例可以参考下面的几个例子&#xff1a; 普通嵌入式系统 mcu/stm32/hmi_app/hmi_app.c 低…

java基于ssm框架的校园闲置物品交易平台论文

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本校园闲置物品交易平台就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短时间内处理完毕庞大的数据…

30、共空间模式CSP与白化矩阵

CSP算法和PCA降维都涉及到了白化&#xff0c;那白化的目的和作用到底是啥呢&#xff1f; 矩阵白化目的&#xff1a; 对于任意一个矩阵X&#xff0c;对其求协方差&#xff0c;得到的协方差矩阵cov(X)并不一定是一个单位阵。 下面介绍几个线代矩阵的几个概念&#xff1a; 1、…

小微企业在银行信贷相关产品和机器学习建模案例_论文科研_企业调研

各银行小微企业贷款业务 互联网的时代&#xff0c;大量新信息技术的涌现和网络的无处不在&#xff0c;想要抢占这片金融天地&#xff0c;必须重视小微金融业务&#xff0c;小微企业是一直具有重大潜力的客户&#xff0c;商业银行、消金公司发展小微信贷业务可以拓宽自身客户群…

数据结构OJ实验14-哈希查找

A. DS哈希查找—线性探测再散列 题目描述 定义哈希函数为H(key) key%11&#xff0c;输入表长&#xff08;大于、等于11&#xff09;。输入关键字集合&#xff0c;用线性探测再散列构建哈希表&#xff0c;并查找给定关键字。 输入 测试次数t 每组测试数据为&#xff1a; …

无心剑七绝《未晚斋》

七绝未晚斋 倏忽半世莫伤怀 醉爱夕阳未晚斋 汉韵唐风情不尽 东华曼舞咏云台 2024年1月6日 新韵四开平韵 《未晚斋》这首诗&#xff0c;作者无心剑以其独特的笔触&#xff0c;描绘出了一幅宁静、淡雅的画面。诗中表达了对生活的热爱和对美好时光的珍惜。 首句“倏忽半世莫伤…