Vue中的一些指令与计算方法

语法

插值语法

HTML的双标签内容中使用,在{{}}之内书写JS代码

属性语法

1.v-bind:
2.:属性名="值"v-bind="值"

事件语法

v-on@
v-on:事件名="方法名"@事件名="方法名"

选项

选项:可选的配置项——官方API文档规定
1.el:vue对象管理的元素,值是id选择器
2.data:存放元素携带的数据,页面中动态变化的数据都在data中进行定义并给初始值
3.methods:存放元素携带的函数

插值语法

<div id='#app'>
	<p>{{数值/字符串/布尔值/三目运算/表达式/函数new Data()}}</p>
</div>
<script>
	new Vue({
		el:'#app',
		data(){
			return{
				uname:'tom',
				age:18,
				isMarried:false
				}
			}
		})
</script>

指令

1.属性绑定

v-bind:简写成:
注意:模版字符串

<img :src="url" />	//url="https://codeboy.com/1.jpg"
<img :src="`img/${url}`">	//url='1.jpg'

2.事件绑定

v-on:简写成@
事件种类:click 表示单机事件 mouseover 表示鼠标移入的事件

3.方法绑定

class的样式绑定

<img :class="active" src="" />//style	.active{border:2px solid orange;}
<img :class="active:表达式" > 表达式的给过为true,样式active会添加上;如果false,样式不生效

4.v-for

如图所示:
在这里插入图片描述
(1)一般的,有v-for的地方就必须有key属性
(2)key 的属性值,必须独一无二;一般的,遍历数组时可以用下标;如果遍历的是对象,可以用对象中的特殊属性比如id等
代码示例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>v-for</title>
    <script src="../vue.js"></script>
</head>
<body>
<div id="app">
    <div  v-for="(data,index) of arr" :key="index">
        {{data}}------------{{index}}
    </div>
</div>
<script type="text/javascript">
    new Vue({
        el:'#app',
        data:{
            arr:[1,2,3,4,5,6,7,8,9]
        }
    })
</script>
</body>
</html>

运行截图:
在这里插入图片描述
双重遍历:
示例代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>v-for</title>
    <script src="../vue.js"></script>
</head>
<body>
<div id="app">
    <div  v-for="data of students" :key="data.id">
        <p v-for="(value,index) of students" :key="index">
            {{index}}-----------------{{value}}
        </p>
    </div>
    <script type="text/javascript">
        new Vue({
            el:'#app',
            data(){
                return{
                    students:[
                        {
                            id:001,
                            name:'zhangsan',
                            age:18
                        },
                        {
                            id:002,
                            name:'lisi',
                            age:19
                        },
                        {
                            id:003,
                            name:'wangwu',
                            age:20
                        },
                        {
                            id:004,
                            name:'zhaoliu',
                            age:21
                        }
                    ]
                }
            }
        })
    </script>
</div>
</body>
</html>

运行截图:
在这里插入图片描述

绑定属性值

示例代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>模板</title>
    <script src="../vue.js"></script>
    <style>
        .d1{
            width: 100px;
            height: 100px;
            background-color: red;
        }
    </style>
</head>
<body>
<div id="app">
    <h3>绑定属性值</h3>
    <div class="d1">

    </div>
    <div v-bind:class="className">

    </div>
    <div :class="className">

    </div>

</div>
<script type="text/javascript">
    new Vue({
        el:"#app",
        data(){
            return{
                className:"d1"
            }
        },
        methods:{

        }
    })
</script>
</body>
</html>

运行截图:
在这里插入图片描述

非指令属性设置属性值,直接赋值就会当做普通字符串解析,绑定数据时,优先解析成其他数据类型,如果不能解析成其他数据类型,就当做数据名解析。

双向绑定

作用:让元素的value属性和数据绑定在一起,value值发生变化时,数据也跟着一起变,数据发生变化时,value值也跟着变;经过双向绑定,可以用数据代表元素的value的值。
代码示例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>模板</title>
    <script src="../vue.js"></script>
</head>
<body>
<h3>双向绑定</h3>
<div id="app">
    <input type="text" v-model="val" @blur="fn2">
    <button @click="fn1">修改val</button>
</div>
<script type="text/javascript">
    new Vue({
        el:"#app",
        data(){
            return{
                val:"123"
            }
        },
        methods:{
            fn1(){
                this.val=Math.random()
            },
            fn2(){
                this.val="456"
            }
        }
    })
</script>
</body>
</html>

运行截图:
在这里插入图片描述
v-mode是一个语法糖
双向绑定的原理:
(1)把数据绑定给value属性
(2)每一次修改元素的value都会把修改后的值赋值给数据

计算属性

作用:从一个数据或多个衍生出另外一个数据就使用计算属性
示例代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>模板</title>
    <script src="../vue.js"></script>
</head>
<body>
<div id="app">
    {{a}}{{b}}<br>
    {{sum}}
</div>
<script type="text/javascript">
    new Vue({
        el:"#app",
        data(){
            return{
                a:10,
                b:20
            }
        },
        methods:{

        },
        computed:{
            sum(){
                return this.a+this.b
            }
        }
    })
</script>
</body>
</html>

运行截图:
在这里插入图片描述
特性:
(1)声明的时候是方法,可以满足在衍生的过程中完成其他功能
(2)使用的时候是数据,怎么使用数据就怎么使用计算属性
(3)计算属性的应用场景,是衍生过程复杂或者在这个过程中要完成其他功能
(4)计算属性的执行契机:第一次加载组件时会执行一次,后续当方法的依赖数据发生数据改变时,会再次执行
(5)依赖数据:只要出现在方法中的数据,就是依赖数据

不复杂的衍生过程:
普通计算或者直接访问属性

缓存性:使用多次计算属性方法,经过第一次衍生过程,会把结果存入缓存,后续使用直接存缓存中拿结果,而不会再次执行方法。
强调:计算属性如果不被使用,那么方法永远不会执行

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

vue3封装Element动态表单组件

1. 封装组件DymanicForm.vue 使用component实现动态组件组件不能直接使用字符串传入&#xff0c;所以根据传入的组件名称找到对应的组件校验规则&#xff0c;可使用rule传入自定义规则&#xff0c;也可以使用封装好的基本规则 示例中使用了checkRequired暴露重置方法和校验方法…

奥比中光Astra SDK相机SDK openni相机成像原理

目录 1.1 成像原理简介 1.1.1 结构光 1.1.2 双目视觉 1.1.3 光飞行时间TOF​ 2.使用手册 参考网址 2.1 产品集成设计 2.2 SDK介绍与使用 2.3 常用API介绍 OPENNI API 2 OpenNI类&#xff08;OpenNI.h&#xff09; 1.1 成像原理简介 1.1.1 结构光 结构光&#xff0…

Elastic 8.13:Elastic AI 助手中 Amazon Bedrock 的正式发布 (GA) 用于可观测性

作者&#xff1a;来自 Elastic Brian Bergholm 今天&#xff0c;我们很高兴地宣布 Elastic 8.13 的正式发布。 有什么新特性&#xff1f; 8.13 版本的三个最重要的组件包括 Elastic AI 助手中 Amazon Bedrock 支持的正式发布 (general availability - GA)&#xff0c;新的向量…

小狐狸JSON-RPC:钱包连接,断开连接,监听地址改变

detect-metamask 创建连接&#xff0c;并监听钱包切换 一、连接钱包&#xff0c;切换地址&#xff08;监听地址切换&#xff09;&#xff0c;断开连接 使用npm安装 metamask/detect-provider在您的项目目录中&#xff1a; npm i metamask/detect-providerimport detectEthereu…

【MySQL】5.2MySQL高级语句与sql语句

模板 test、class、class0 mysql> select * from test; -------------------------------- | idcard | name | age | hobbid | -------------------------------- | 01 | lizi | 18 | guangjie | | 02 | monor | 22 | zhaijia | | 03 | sansan | …

对form表单对象中数组中的字段进行校验的方法

当对form表单中&#xff0c;数组readings中的字段进行校验时&#xff0c;prop和rules绑定要写成动态的&#xff0c;如下代码 <div v-for"(item,index) in form.readings"><el-form-item label"上次读数" > <!--prop"scds"-->…

Pytorch入门实战 P4-猴痘图片,精确度提升

目录 一、前言&#xff1a; 二、前期准备&#xff1a; 1、设备查看 2、导入收集到的数据集 3、数据预处理 4、划分数据集&#xff08;8:2&#xff09; 5、加载数据集 三、搭建神经网络 四、训练模型 1、设置超参数 2、编写训练函数 3、编写测试函数 4、正式训练 …

LabVIEW智能降噪系统

LabVIEW智能降噪系统 随着噪声污染问题的日益严重&#xff0c;寻找有效的降噪技术变得尤为关键。介绍了一种基于LabVIEW平台开发的智能降噪系统&#xff0c;该系统能够实时采集环境噪声&#xff0c;并通过先进的信号处理技术实现主动降噪&#xff0c;从而有效改善生活和工作环…

kubernetes(K8S)学习(五):K8S进阶(Lifecycle......偏理论)

K8S进阶&#xff08;Lifecycle......偏理论&#xff09; 一、Pod进阶学习之路1.1 Lifecycle1.2 重启策略1.3 静态Pod1.4 健康检查1.5 ConfigMap1.6 Secret1.7 指定Pod所运行的Node 二、Controller进阶学习之路2.1 Job & CronJob2.2 StatefulSet2.3 DaemonSet2.4 Horizontal…

vue3 渲染一个后端返回的图片字段渲染、table表格内放置图片

一、后端直接返回图片url 当图片字段接口直接返回的是图片url&#xff0c;可以直接放到img标签上 <img v-if"thumbLoader" class"r-image-loader-thumb" :src"resUrl" /> 二、当图片字段接口直接返回的是图片Id 那么就需要去拼一下图片…

改Jenkins版本号

旧服务器迁移到新&#xff0c;打包版本号更新 Jenkins.instance.getItemByFullName("双机热备").updateNextBuildNumber(65)

知识蒸馏到底怎么蒸?

1知识蒸馏简介 定义&#xff1a;知识蒸馏代表将知识从大模型向小模型传输的过程。 作用&#xff1a;可以用于模型压缩和训练加速 手段。 2基于响应的知识&#xff08;Response-Based Knowledge&#xff09; 基于响应的知识一般指的是神经元的响应&#xff0c;即教师模型的最…

前端学习<二>CSS基础——09-CSS案例讲解:博雅互动

前言 CSS已经学了一些基础内容了&#xff0c;我们来讲解一个小案例吧。以博雅互动的官网首页举例。 版心 首页的版心如下&#xff1a; 这里我们要普及一个概念&#xff0c;叫“版心”。版心是页面中主要内容所在的区域。 比如说&#xff0c;网站左上角的logo&#xff0c;设计…

IDEA2021.1.2破解无限试用30天破解IDEA

安装包下载 IDEA安装包&#xff1a;Other Versions - IntelliJ IDEA破解包下载&#xff1a;文件 密码:c033 开始激活 IDEA 2021.1.3 运行, 中间会先弹出一个注册框&#xff0c;我们勾选 Evaluate for free, 点击 Evaluate&#xff0c; 先试用30天: 注意&#xff0c;如果没有…

Tomcat项目创建 以及 在IDEA当中集成Tomcat

一: 有关Tomcat的WEB项目创建 TOMCAT项目的创建有两种方式, 第一种是利用骨架进行创建, 第二种是利用填补进行相应的创建, 不适用骨架进行创建 ,在这里主要聊第二种 (使用IDEA版本为2023) 1. 创建MAVEN项目, 非骨架形式 2.在相应的pom文件当中设置打包方式 为 war包的打包形…

LeetCode:70爬楼梯 C语言

假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢&#xff1f; 示例 1&#xff1a; 输入&#xff1a;n 2 输出&#xff1a;2 解释&#xff1a;有两种方法可以爬到楼顶。 1. 1 阶 1 阶 2. 2 阶 示例 2&#x…

敏捷教练CSM认证考了有没有用,谁说了算?

敏捷教练CSM证书是近年来备受关注的一项证书&#xff0c;它被认为可以提升敏捷开发团队的管理能力和项目执行效率。然而&#xff0c;对于这个证书的价值和含金量&#xff0c;人们的观点却不尽相同。那么&#xff0c;CSM证书到底有没有用&#xff0c;谁来说了算呢&#xff1f; 首…

java调用百度AI识别身份证照片获取信息

java调用百度AI识别身份证照片获取信息 一、前期准备1、创建账号2、获得API Key 和Secret Key 二、使用步骤1、依赖2、代码 一、前期准备 1、创建账号 2、获得API Key 和Secret Key 二、使用步骤 http调用工具用了hutool工具库 1、依赖 <!--百度身份证识别AI依赖-->&l…

论文阅读-Policy Optimization for Continuous Reinforcement Learning

摘要 我们研究了连续时间和空间环境下的强化学习( RL )&#xff0c;其目标是一个具有折扣的无限时域&#xff0c;其动力学由一个随机微分方程驱动。基于连续RL方法的最新进展&#xff0c;我们提出了占用时间(专门针对一个折现目标)的概念&#xff0c;并展示了如何有效地利用它…

qt学习第三天,qt设计师的第一个简单案例

3月25&#xff0c;应用qt设计师&#xff0c;手动设计界面形状 ​ 如何启动qt设计师&#xff0c;找到对应的安装地点&#xff0c;对应你自己安装的pyside6或其他qt的安装路径来找 ​ 应用qt设计师的优点是不用敲代码然后慢慢调节框框大小&#xff0c;位置等、可以直接修改…
最新文章