当前位置: 首页 > news >正文

Vue3基础部分

Vue3基础部分

1.创建项目

1.使用CLI创建项目

注意vue创建项目名不能包含大写

在这里插入图片描述

2.本地js或者CDNjs引入

在这里插入图片描述

2.创建应用

在这里插入图片描述

createApp是从vue的依赖包中的js文件导入的一个函数,用于创建Vue应用实例,传入参数就是一个组件。

在这里插入图片描述

这里的传入的组件都是根组件


在这里插入图片描述

每个应用根组件可以挂载到一个dom元素中。


3.模板语法

3.1 文本插值

在这里插入图片描述

3.2 v-指令

比如渲染html 使用v-html

在这里插入图片描述

3.3 动态属性

使用v-bind:xx xx为属性如id等。可以用语法糖:xx 简写。

<div :id="dynamicId"></div>

同时支持绑定多个属性

data() {
  return {
    objectOfAttrs: {
      id: 'container',
      class: 'wrapper'
    }
  }
}
<div v-bind="objectOfAttrs"></div>

同时支持大括号内和v-指令里的js表达式

3.4 动态参数

<a v-on:[eventName]="doSomething"> ... </a>

<!-- 简写 -->
<a @[eventName]="doSomething">

evevntName是组件的动态属性。

4.计算属性

在这里插入图片描述

避免重复调用。

若我们将同样的函数定义为一个方法而不是计算属性,两种方式在结果上确实是完全相同的,然而,不同之处在于计算属性值会基于其响应式依赖被缓存。一个计算属性仅会在其响应式依赖更新时才重新计算。这意味着只要 author.books 不改变,无论多少次访问 publishedBooksMessage 都会立即返回先前的计算结果,而不用重复执行 getter 函数。

5.侦听器

计算属性允许我们声明性地计算衍生值。然而在有些情况下,我们需要在状态变化时执行一些“副作用”:例如更改 DOM,或是根据异步操作的结果去修改另一处的状态。

在选项式 API 中,我们可以使用 watch 选项在每次响应式属性发生变化时触发一个函数。

export default {
  data() {
    return {
      question: '',
      answer: 'Questions usually contain a question mark. ;-)'
    }
  },
  watch: {
    // 每当 question 改变时,这个函数就会执行
    question(newQuestion, oldQuestion) {
      if (newQuestion.includes('?')) {
        this.getAnswer()
      }
    }
  },
  methods: {
    async getAnswer() {
      this.answer = 'Thinking...'
      try {
        const res = await fetch('https://yesno.wtf/api')
        this.answer = (await res.json()).answer
      } catch (error) {
        this.answer = 'Error! Could not reach the API. ' + error
      }
    }
  }
}

在这里插入图片描述

传送门

6.类与样式绑定

支持对象和数组形式。

传送门


7.条件渲染和列表渲染

v-if和v-for

传送门1

传送门2

传送门3

相关文章:

  • 猿创征文 | 国产数据库之神通数据库详解安装和使用
  • STM32中使用PS2手柄
  • 飞翔的小猫-第12届蓝桥杯Scratch省赛2真题第2题
  • 基于粒子群算法的移动机器人路径规划
  • C# 连接 MySQL 数据库
  • 计算机网络物理层
  • 朋友问我,斗破苍穹中到底出现了多少次“恐怖如斯”?
  • 计算机毕业设计SSM选题推荐 企业培训管理系统 艺术类培训中心管理系统 企业销售人员培训系统
  • 31、JAVA进阶——XML知识
  • 盘点5个C#实用的Word、PPT、Excel、Mail第三方库
  • stm32学习——DMA
  • Python课程设计基于卷积神经网络的手写数字识别系统源码
  • web前端网页设计作业—个人网页(游戏主题)(html+css+js)
  • 智能车逆透视、去畸变教程(含上位机、源码)
  • 拓展班上机课题解22/10/14
  • 2017届校招提前批面试回顾
  • C++类中的特殊成员函数
  • canvas 绘制双线技巧
  • Docker入门(二) - Dockerfile
  • ECS应用管理最佳实践
  • EOS是什么
  • JavaScript 一些 DOM 的知识点
  • Node项目之评分系统(二)- 数据库设计
  • SAP云平台运行环境Cloud Foundry和Neo的区别
  • Spring Boot快速入门(一):Hello Spring Boot
  • Swoft 源码剖析 - 代码自动更新机制
  • yii2权限控制rbac之rule详细讲解
  • 初识MongoDB分片
  • 从0搭建SpringBoot的HelloWorld -- Java版本
  • 当SetTimeout遇到了字符串
  • 对话 CTO〡听神策数据 CTO 曹犟描绘数据分析行业的无限可能
  • 强力优化Rancher k8s中国区的使用体验
  • 一天一个设计模式之JS实现——适配器模式
  • 再次简单明了总结flex布局,一看就懂...
  • 你学不懂C语言,是因为不懂编写C程序的7个步骤 ...
  • ​ ​Redis(五)主从复制:主从模式介绍、配置、拓扑(一主一从结构、一主多从结构、树形主从结构)、原理(复制过程、​​​​​​​数据同步psync)、总结
  • ​Distil-Whisper:比Whisper快6倍,体积小50%的语音识别模型
  • # 深度解析 Socket 与 WebSocket:原理、区别与应用
  • #HarmonyOS:Web组件的使用
  • %check_box% in rails :coditions={:has_many , :through}
  • (01)ORB-SLAM2源码无死角解析-(66) BA优化(g2o)→闭环线程:Optimizer::GlobalBundleAdjustemnt→全局优化
  • (22)C#传智:复习,多态虚方法抽象类接口,静态类,String与StringBuilder,集合泛型List与Dictionary,文件类,结构与类的区别
  • (二)fiber的基本认识
  • (附源码)ssm高校升本考试管理系统 毕业设计 201631
  • (十二)python网络爬虫(理论+实战)——实战:使用BeautfulSoup解析baidu热搜新闻数据
  • (一)WLAN定义和基本架构转
  • (转)IIS6 ASP 0251超过响应缓冲区限制错误的解决方法
  • (转)如何上传第三方jar包至Maven私服让maven项目可以使用第三方jar包
  • ***利用Ms05002溢出找“肉鸡
  • .【机器学习】隐马尔可夫模型(Hidden Markov Model,HMM)
  • .net 8 发布了,试下微软最近强推的MAUI
  • .NET C# 使用 SetWindowsHookEx 监听鼠标或键盘消息以及此方法的坑
  • .NET/C# 使用 ConditionalWeakTable 附加字段(CLR 版本的附加属性,也可用用来当作弱引用字典 WeakDictionary)
  • .NET面试题解析(11)-SQL语言基础及数据库基本原理
  • .NET使用存储过程实现对数据库的增删改查