vue基本语法

news2024/11/28 14:41:25

目录

一、模板语法

(1)文本

(2)原始HTML

(3)属性Attribute

(4)使用JavaScript表达式

二、条件渲染

(1)v-if,v-else

(2)v-show

 (3)v-show和v-if的区别

三、列表渲染

(1)v-for

(2)维护状态

四、事件处理

(1)监听事件

(2)事件处理方法

(3)内联处理器中的方法


一、模板语法

(1)文本

动态显现数据
使用{{}}

一般配合js中的data()设置数据

 

<template>
  <div class="hello">
     <h3>vue学习</h3>
     <p>{{ s }}</p>>
  </div>
</template>

<script>
export default{
  name: 'HelloWorld',
  data() {
    return{
      s:'嘿嘿嘿'
    }
  }
}

</script>


(2)原始HTML

双大括号会将数据解释为普通文本,而非HTML代码。为了输出真正的HTML代码,需要使用v-html指令

<template>
  <div class="hello">
     <h3>vue学习</h3>
     <div>{{ s }}</div>
     <p v-html="s"></p>>
  </div>
</template>

<script>
export default{
  name: 'HelloWorld',
  data() {
    return{
      s:'<a href="http://www.baidu.com">百度</a>'
    }
  }
}

</script>


 

 

(3)属性Attribute

v-bind:直接加属性名,可以实现动态属性,如:v-bind:id
v-bind:也可以写成:

<template>
  <div class="hello">
     <h3>vue学习</h3>
     <div v-bind:id="io">2</div>
  </div>
</template>

<script>
export default{
  name: 'HelloWorld',
  data() {
    return{
      io:1010
    }
  }
}

</script>


 

(4)使用JavaScript表达式

注意可以实现的是单个表达式,如下:

<template>
  <div class="hello">
     <h3>vue学习</h3>
     <p>{{ n+2 }}</p>
     <div>{{ ok?'对啦':'错啦' }}</div>
     <div>{{ m.split("").reverse().join("") }}</div>
  </div>
</template>

<script>
export default{
  name: 'HelloWorld',
  data() {
    return{
      n:3,
      ok:false,
      m:"abcdefg"
    }
  }
}

</script>


 

二、条件渲染

(1)v-if,v-else

v-if指令值为true时渲染
v-else表示v-if的‘else’块

<template>
  <div class="hello">
     <h3>vue学习</h3>
     <div v-if="f1">
       我叫大力
    </div>
    <div v-else>
      我不叫大力
    </div>

    <div v-if="f2">
       我叫大力
    </div>
    <div v-else>
      我不叫大力
    </div>
  </div>
</template>

<script>
export default{
  name: 'HelloWorld',
  data() {
    return{
      f1:true,
      f2:false
    }
  }
}

</script>


(2)v-show

v-show也是用于条件性展示渲染

 

<template>
     <h3>vue学习</h3>
     <div v-show="f1">first</div>
     <div v-show="f2">second</div>
</template>

<script>
export default{
  name: 'HelloWorld',
  data() {
    return{
      f1:true,
      f2:false
    }
  }
}

</script>


 (3)v-show和v-if的区别

v-if 是“真正”的条件渲染。如果在初始渲染时条件为假,则什么也不做,直到条件第一次变为真时,才会开始渲染条件块。

v-show 就简单得多,不管初始条件是什么,元素总是会被渲染。

一般来说,v-if 有更高的切换开销,而 v-show 有更高的初始渲染开销。因此,如果需要非常频繁地切换,则使用 v-show 较好;如果在运行时条件很少改变,则使用 v-if 较好

三、列表渲染

(1)v-for

使用v-for对列表进行遍历

 

<template>
     <h3>vue学习</h3>
     <ul>
      <li v-for="i in list">
         id:{{ i.id }}
         name:{{ i.name }}
       </li>
     </ul>
</template>

<script>
export default{
  name: 'HelloWorld',
  data() {
    return{
     list:[
      {
        id:11,
        name:'小红'
      },
      {
        id:13,
        name:'小明'
      },
      {
        id:18,
        name:'大大'
      }
     ]
    }
  }
}
</script>

 

(2)维护状态

一般每个列表中都会有一个唯一ID,而我们正是通过这个唯一id的变化来判断是否渲染。

如:<li v-for="i in items":key="i.id"> 

<template>
     <h3>vue学习</h3>
     <ul>
      <li v-for="i in list" :key="i.id">
         id:{{ i.id }}
         name:{{ i.name }}
       </li>
     </ul>
</template>

<script>
export default{
  name: 'HelloWorld',
  data() {
    return{
     list:[
      {
        id:11,
        name:'小红'
      },
      {
        id:13,
        name:'小明'
      },
      {
        id:18,
        name:'大大'
      }
     ]
    }
  }
}

</script>


四、事件处理

(1)监听事件

监听事件我们可以使用v-on指令(通常简写成@符号)监听DOM事件,
用法:v-on:click="first"或者@click="second"  (click是点击事件)

<template>
     <h3>vue学习</h3>
     <button v-on:click="c+=1">点击c ,c变成{{ c }}</button>
</template>

<script>
export default{
  name: 'HelloWorld',
  data() {
    return{
     c:1
    }
  }
}

</script>


(2)事件处理方法

使用函数作为处理方法

<template>
     <h3>vue学习</h3>
     <button @click="num1">点击</button>
</template>

<script>
export default{
  name: 'HelloWorld',
  data() {
    return{
     c:1
    }
  },
  methods: {
     num1(){
      console.log('来了');
     }
  }
}

</script>


 

(3)内联处理器中的方法

说简单点就是传递参数,具体看下面的例子就懂了

<template>
     <h3>vue学习</h3>
    <button @click="say('12345')">我来</button>
    <button @click="say('abcdefg')">我不来</button>
</template>

<script>
export default{
  name: 'HelloWorld',
  data() {
    return{
     c:1
    }
  },
  methods: {
     num1(){
      console.log('来了');
     },
     say(sh){
      alert(sh);
     }
  }
}

</script>


 

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

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

相关文章

nodejs+vue+elementui学生毕业生离校系统

学生毕业离校系统的开发过程中。该学生毕业离校系统包括管理员、学生和教师。其主要功能包括管理员&#xff1a;首页、个人中心、学生管理、教师管理、离校信息管理、费用结算管理、论文审核管理、管理员管理、留言板管理、系统管理等&#xff0c;前台首页&#xff1b;首页、离…

stm32 CubeMx 实现SD卡/sd nand FATFS读写测试

stm32 CubeMx 实现SD卡/SD nand FATFS读写测试 文章目录 stm32 CubeMx 实现SD卡/SD nand FATFS读写测试1. 前言2. 环境介绍2.1 软硬件说明2.2 外设原理图 3. 工程搭建3.1 CubeMx 配置3.2 SDIO时钟配置说明3.2 读写测试3.2.1 添加读写测试代码 3.3 FATFS文件操作3.3.1 修改读写测…

云计算:数字化转型的利器

随着数字化转型的加速&#xff0c;企业对于信息技术应用的需求越来越大&#xff0c;而云计算作为一种新的基础设施&#xff0c;也逐渐成为了许多企业的首选。那么&#xff0c;云计算究竟有哪些优势&#xff1f;未来发展趋势又是怎样的呢&#xff1f;下面就让我们一起来探讨一下…

深入理解try...catch(字节码层面)

我们工作中常用try...catch来解决程序中出现的异常情况&#xff0c;但是你真的了解它的实现原理吗&#xff1f;今天我就带着大家从字节码层面理解try...catch 一、准备工作 我们首先需要准备好异常类和对应的测试类方便我们观察。 异常类&#xff1a; public class DivideB…

1.软件测试

目录 一、面试重点 1.什么是软件测试&#xff1f; 2.软件测试和软件开发的区别 3.你为什么选择软件测试&#xff1f; 4.什么是需求&#xff1f; 5.软件测试人员如何深入了解需求&#xff1f; 6.什么是内存泄露&#xff1f; 7.什么是测试用例&#xff1f; 8.测试用例有…

【23】linux进阶——linux的软链接和硬链接

大家好&#xff0c;这里是天亮之前ict&#xff0c;本人网络工程大三在读小学生&#xff0c;拥有锐捷的ie和红帽的ce认证。每天更新一个linux进阶的小知识&#xff0c;希望能提高自己的技术的同时&#xff0c;也可以帮助到大家 另外其它专栏请关注&#xff1a; 锐捷数通实验&…

终于成功了,CCED2000后,中文编程软件再次脱颖而出,系出金山

WPS抗衡微软&#xff0c;CCEDE却被淹没&#xff1f; DOS代&#xff0c;我们用WPS来进行文字编辑&#xff0c;CCED来做表格&#xff0c;两者在那个时代可以称得上是国产办公领域的“必装软件”。 如今&#xff0c;30年过去了&#xff0c;WPS一步一步成长为抗衡微软office的国产…

electron入门 | 手把手带electron项目初始化

Electron是一个基于Chromium和 Node.js&#xff0c;可以使用 HTML、CSS和JavaScript构建跨平台应用的技术框架&#xff0c;兼容 Mac、Windows 和 Linux。 目录 1.了解electron 2.开发环境 3.初始化 采坑插曲&#xff1a; 1.了解electron Electron 可以让你使用纯 JavaScrip…

easyexcel读取excel合并单元格数据

普通的excel列表&#xff0c;easyexcel读取是没有什么问题的。但是&#xff0c;如果有合并单元格&#xff0c;那么它读取的时候&#xff0c;能获取数据&#xff0c;但是数据是不完整的。如下所示的单元格数据&#xff1a; 我们通过简单的异步读取&#xff0c;最后查看数据内容&…

symfonos 2

目录 扫描 SMB SSH 提权 扫描 由于端口80是打开的,我们试图在浏览器中打开IP地址,但在网页上没有找到任何有用的信息。我们还尝试了dirb和其他目录暴力工具,但没有找到任何东西。 SMB 为了进一步枚举,我们使用Enum4Linux工具并找到了一些有用的信息。我们发现了一个名…

Microelectronic学习章节总结(1)-- 计算机架构复习

文章目录 Part1. 处理器架构&#xff0c;以及流水线的实现方法part2 DLX架构part3 ULTRA SPARC T2架构part4 PENTIUM 4架构part5 不同架构之间的性能比较 PPT&#xff1a;2&#xff0c;4&#xff0c;5&#xff0c;6 这一章主要对之前的计算机架构一些知识进行复习&#xff0c;因…

数字中国建设峰会|大模型带来产业智能化新机遇

第六届数字中国建设峰会在福建省福州市举办。峰会期间&#xff0c;百度与福州市政府签署战略协议&#xff0c;将基于文心一言为代表的大模型和百度智能云通用AI能力深入合作。未来&#xff0c;双方将聚焦算力产业&#xff0c;共建百度智能云&#xff08;福州&#xff09;智算中…

移动推车定位查找方案

CK_Label_v24 产品型号 CK_Label_v24 尺寸 124x90x12mm&#xff08;不含安装支架&#xff09; 屏幕尺寸 4.2 inch 显示技术 电子墨水屏显示 显示区域面积 (mm) 84.8(H) x 63.6(V) 分辨率 400*300 像素密度 120dpi 显示颜色 黑/白 外观颜色 白色&灰外圏…

Mozilla 自身是如何模糊 Firefox 浏览器的?

导语&#xff1a;Mozilla一直在模糊Firefox及其底层组件&#xff0c;它已被证明是识别质量和安全漏洞的最有效方法之一。 Mozilla一直在模糊Firefox及其底层组件&#xff0c;它已被证明是识别质量和安全漏洞的最有效方法之一。通常&#xff0c;研究人员会在不同级别上应用模糊测…

二叉树的遍历及相关衍生

二叉树的遍历及相关衍生 前言二叉树的遍历建树二叉树的遍历遍历的分类代码部分 遍历根的应用打印树中的每个数据代码部分 遍历计算树节点个数代码部分 计算二叉树的深度思路代码部分 第k层个数 结束 前言 如标题所示&#xff0c;在这里我们要研究的是二叉树的遍历。 为什么不…

java获取星期几

如果你要问 java什么时候学习比较好&#xff0c;那么答案肯定是 java的星期几。 在 Java中&#xff0c;你可以使用 public static void main &#xff08;&#xff09;方法来获取一个类的所有成员变量&#xff0c;然后在所有类中调用这个方法来获取对象的所有成员变量。它能以对…

MCSM面板一键搭建我的世界服务器-外网远程联机【内网穿透】

文章目录 前言1.Mcsmanager安装2.创建Minecraft服务器3.本地测试联机4. 内网穿透4.1 安装cpolar内网穿透4.2 创建隧道映射内网端口 5.远程联机测试6. 配置固定远程联机端口地址6.1 保留一个固定TCP地址6.2 配置固定TCP地址 7. 使用固定公网地址远程联机 转载自远程穿透文章&…

【C++】模拟实现map和set

1.关联式容器 关联式容器也是用来存储数据的&#xff0c;与序列式容器不同的是&#xff0c;其里面存储的是结构的 键值对&#xff0c;在数据检索时比序列式容器效率更高。 2 .键值对 用来表示具有一一对应关系的一种结构&#xff0c;该结构中一般只包含两个成员变量key和val…

2023-04-16 学习记录--C/C++-邂逅C/C++(上)

合抱之木&#xff0c;生于毫末&#xff1b;九层之台&#xff0c;起于累土&#xff1b;千里之行&#xff0c;始于足下。&#x1f4aa;&#x1f3fb; 一、固定格式 ⭐️ stdio的理解: abbr.标准输入输出&#xff08;standard input/output&#xff09;。 #include <stdio.h>…

【LeetCode:72. 编辑距离 | 暴力递归=>记忆化搜索=>动态规划 】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…