Vue2基础学习

news2024/11/28 21:46:09

vue基础学习

  • Vue基础指令
    • v-show 和 v-if
    • v-on指令
    • v-bind指令
    • v-bind操作class
    • v-bind 操作style
    • v-for 指令练习:图书管理案例
    • v-model
  • 指令修饰符
    • v-model指令修饰符
    • @click.stop-》阻止冒泡
    • 按键修饰符
    • 阻止默认行为
  • 计算属性
    • 计算属性简写
    • computed计算属性VS方法methods
    • 计算属性完整写法
  • watch 侦听器(监视器)
    • watch 侦听器简写
    • watch 侦听器完整写法
  • Vue生命周期
    • Vue生命周期钩子函数
  • Vue-cli
    • 使用步骤
    • 项目目录介绍
    • 项目支持Less
    • 普通组件的注册
      • 局部注册
      • 全局注册
    • 组件的样式冲突 scoped
    • data是一个函数
    • 组件通信
      • 父->子通信
      • 子 -> 父通信
      • 什么是prop

Vue基础指令

v-show 和 v-if

在这里插入图片描述

应用场景:
这里的请登录注册,对于已经登录的用户是不需要展示的;而购物车,当鼠标移入的时候会显示,鼠标移出隐藏…
在这里插入图片描述

v-on指令

以下演示了如何定义方法,如何获取data中的变量
在这里插入图片描述
以下演示函数传参
在这里插入图片描述

v-bind指令

作用:动态设置html标签属性->src、title、url,可使用简写,:src:url
在这里插入图片描述
练习:
在这里插入图片描述

v-bind操作class

在这里插入图片描述

v-bind 操作style

适应场景:某个具体属性的动态设置
在这里插入图片描述

v-for 指令练习:图书管理案例

在这里插入图片描述

v-model

作用:给表单元素使用,双向数据绑定,可以快速获取或设置表单元素内容
在这里插入图片描述

指令修饰符

在这里插入图片描述

v-model指令修饰符

在这里插入图片描述

@click.stop-》阻止冒泡

在这里插入图片描述

按键修饰符

在这里插入图片描述

阻止默认行为

在这里插入图片描述

计算属性

计算属性简写

基于现有的数据,计算出来的新属性。依赖的数据变化,自动重新计算。
在这里插入图片描述

computed计算属性VS方法methods

在这里插入图片描述

计算属性完整写法

计算属性默认的简写,只能读取访问,不能"修改"。如果要"修改"→需要写计算属性的完整写法。
在这里插入图片描述
在这里插入图片描述

watch 侦听器(监视器)

watch 侦听器简写

作用:监视数据变化,执行一些 业务逻辑 或 异步操作
在这里插入图片描述

watch 侦听器完整写法

完整写法>添加额外配置项
(1) deep: true 对复杂类型深度监视
(2) immediate: true 初始化立刻执行一次handler方法
具体查看视频:https://www.bilibili.com/video/BV1HV4y1a7n4?p=33&spm_id_from=pageDriver&vd_source=c3fc4867486b99c0b85501121f575279

Vue生命周期

Vue生命周期钩子函数

Vue生命周期:一个Vue实例从 创建到销毁的整个过程生命周期四个阶段: 创建挂载更新销毁
Vue生命周期过程中,会自动运行一些函数,被称为[生命周期钩子],让开发者可以在[特定阶段] 运行自己的代码
在这里插入图片描述

Vue-cli

使用步骤

1.全局安装(一次): yarn global add @vue/clinpm i @vue/cli -g
2.查看 Vue 版本:vue --version
3.创建项目架子:vue create project-name (项目名-不能用中文)
4.启动项目: yarn servenpm run serve (找package.json)

项目目录介绍

在这里插入图片描述

项目支持Less

如下图,要想在代码中写less样式,得安装相关依赖:

  • 给style加上 lang="less"
  • 安装依赖 yarn add less less-loader -D
    在这里插入图片描述

普通组件的注册

局部注册

局部注册:只能在注册的组件内部使用

  • 创建vue组件(比如在components目录下)
  • 在使用的组件内导入并注册
<template>
  <div class="app">
    <MyHeader></MyHeader>
    <MyMain></MyMain>
    <MyFoot></MyFoot>
  </div>
</template>

<script>
import MyHeader from './components/MyHeader.vue'
import MyMain from './components/MyMain.vue'
import MyFoot from './components/MyFoot.vue'
export default {
  components: { // 局部注册
    MyHeader: MyHeader,
    MyMain: MyMain,
    MyFoot: MyFoot
  }
}
</script>
<style lang="less">
.app {
  width: 600px;
  height: 600px;
  background-color: #87ceeb;
}
</style>
<template>
  <div class="header">
    我是头头
  </div>
</template>
<script>
export default {}
</script>

<style>
.header {
    height: 100px;
    line-height: 100px;
    text-align: center;
    font-size: 30px;
    background-color: pink;
}
</style>

其它两个组件就不粘贴了,一样的写法…

全局注册

  • 创建vue组件(比如在components目录下)
  • main.js进行全局注册
    比如说上面那个例子,header-main-footer结构,我想在三层结构里都加个button,就可以把button定义全局组件,使用的时候
import Vue from 'vue'
import App from './App.vue'
// 引入
import MyButton from './components/MyButton'

Vue.config.productionTip = false

// 进行全局注册,在所有的组件范围内都可以用
Vue.component('MyButton', MyButton) // (组件名,组件对象)

new Vue({
  render: h => h(App),
}).$mount('#app')

在其它组件中直接使用就行了,也无须import引入,后续button有变化,只需要改全局组件即可
在这里插入图片描述

组件的样式冲突 scoped

默认情况:写在组件中的样式会全局生效, 因此很容易造成多个组件之间的样式冲突问题
1、**全局样式**:默认组件中的样式会作用到全局
2、**局部样式**:可以给组件加上 scoped 属性,可以让样式只作用于当前组件

data是一个函数

一个组件的 data 选项必须是一个函数。 保证每个组件实例,都有独立的一份数据对象
在这里插入图片描述

组件通信

组件通信,就是指 组件与组件 之间的数据传递

  • 组件的数据是独立的,无法直接访问其他组件的数据。
  • 想用其他组件的数据->组件通信
    组件关系分类: 父子关系 、非父子关系
    在这里插入图片描述

父->子通信

在这里插入图片描述
代码如下:

<template>
  <div style="border:3px solid #000; margin:10px">
    我是父组件
    <Son :title="myTitle"></Son>
  </div>
</template>

<script>
import Son from './components/Son.vue'
export default {
  components: {
    Son: Son
  },
  data() {
    return {
      myTitle: "你好呀我是"
    }
  }
}
</script>
<style >
</style>
<template>
  <div style="border:3px solid #000; margin:10px">
    我是Son组件
    {{title}}
  </div>
  
</template>

<script>
export default {
  // 通过 props 接收
  props: ['title']
}
</script>

<style scope>
</style>

子 -> 父通信

在这里插入图片描述

什么是prop

在这里插入图片描述
相关视频:https://www.bilibili.com/video/BV1HV4y1a7n4?p=51&spm_id_from=pageDriver&vd_source=c3fc4867486b99c0b85501121f575279

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

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

相关文章

Java版本+企业电子招投标系统源代码+支持二开+Spring cloud

项目说明 随着公司的快速发展&#xff0c;企业人员和经营规模不断壮大&#xff0c;公司对内部招采管理的提升提出了更高的要求。在企业里建立一个公平、公开、公正的采购环境&#xff0c;最大限度控制采购成本至关重要。符合国家电子招投标法律法规及相关规范&#xff0c;以及…

生成式人工智能促使社会转变

作者&#xff1a;JEFF VESTAL 了解 Elastic 如何处于大型语言模型革命的最前沿 – 通过提供实时信息并将 LLM 集成到数据分析的搜索、可观察性和安全系统中&#xff0c;帮助用户将 LLM 提升到新的高度。 iPhone 社会转变&#xff1a;新时代的黎明 曾几何时&#xff0c;不久前…

别再埋头苦干了,标准化财务数据分析方案开箱即用!

在这个数字化、智能化的时代&#xff0c;一味埋头苦干只会换来效率低下的结果&#xff0c;还是得巧用各种现成资源&#xff0c;以财务数据分析为例&#xff0c;就可以下载奥威BI财务数据分析方案。一键套用&#xff0c;立得覆盖各个主题的财务数据分析报表&#xff0c;快速摸清…

纯前端读写文件?

事情是这样的我发现vscode在线版居然可以打开文件目录和文件&#xff0c;还能保存文件。 兼容性一般 目前 谷歌 edge Opera 支持 其他均不支持 https://vscode.dev/ 查了一下MDN 发现增加新的API 了 https://developer.mozilla.org/zh-CN/docs/Web/API/Window/showDirectoryP…

使用js搭建简易的WebRTC实现视频直播

首先需要一个信令服务器&#xff0c;我们使用nodejs来搭建。两个端&#xff1a;发送端和接收端。我的目录结构如下图&#xff1a;流程 创建一个文件夹 WebRTC-Test。进入文件夹中&#xff0c;新建一个node的文件夹。使用终端并进入node的目录下&#xff0c;使用 npm init 创建p…

易基因:MeRIP-seq等揭示mRNA m6A甲基化调控拟南芥的抗寒性分子机制|植物抗逆

大家好&#xff0c;这里是专注表观组学十余年&#xff0c;领跑多组学科研服务的易基因。 植物通过改变数千个基因的mRNA丰度以促进其生理和代谢过程&#xff0c;从而对低温应激进行响应。在转录后水平上&#xff0c;这些冷应激应答转录本经历可变剪接、microRNA介导的调控和可…

气象站的工作内容有哪些?

气象站的工作内容包括观测、记录和报告天气数据。具体来说&#xff0c;气象站需要通过各种传感器和数据记录器来测量和记录气温、湿度、风速、风向、气压、降雨量、雪深等气象参数&#xff0c;对数据的分析、处理和存储。例如&#xff0c;气象站需要将收集到的数据与历史数据进…

Redis设置开机自启动

&#xff08;配置环境变量&#xff09;需要重启电脑 1、在安装目录打开命令行&#xff0c;输入&#xff1a;打开一个命令窗进入文件夹内&#xff0c;输入redis-server --service-install redis.windows-service.conf 2、windowsR ---->services.msc 找到Redis&#xff0c;右…

【好书推荐】人月神话

《人月神话》一书被评为神品之作&#xff0c;以其深入的思想和优美的文字而享誉于软件工程领域。该书由Frederick P. Brooks撰写于28年前&#xff0c;探讨了软件工程领域的现实问题&#xff0c;揭示了软件行业在解决问题上存在的错误方案和缺乏专业性的现象。 在这本书中&…

独立站新手引流,谷歌SEO工具汇总

俗话说“工欲善其事&#xff0c;必先利其器”&#xff0c;做谷歌SEO也一样&#xff0c;要想做好并提升SEO效果&#xff0c;卖家就需要了解并利用好SEO工具。那我们今天就来盘点一下&#xff0c;常用的SEO工具有哪些吧~ 网站检测工具 1、PageSpeed Insights&#xff1a;这是谷…

Python足球训练打卡系统SpringBoot足球场地预约系统源码 调试 lw

&#x1f495;&#x1f495;作者&#xff1a;计算机源码社 &#x1f495;&#x1f495;个人简介&#xff1a;本人七年开发经验&#xff0c;擅长Java、Python、PHP、.NET、微信小程序、爬虫、大数据等&#xff0c;大家有这一块的问题可以一起交流&#xff01; &#x1f495;&…

财报解读:德尔玛净利润同比增长10.79%,自研将延续增长态势?

高成长性的小家电领域&#xff0c;近年来已成为家电行业的热门赛道。数据显示&#xff0c;我国小家电行业未来将保持6%-7%左右增速&#xff0c;预计2026年市场规模将接近6000亿元。在庞大的市场机遇中&#xff0c;德尔玛等后起之秀也频频迎来投资者关注。 从进行品牌设计&…

图片转pdf软件有哪些?这几款收藏下来

图片转pdf软件有哪些&#xff1f;图片转PDF的需求很常见。有时候我们需要将一些图片文件合并成一个PDF文件&#xff0c;方便浏览和共享。比如说&#xff0c;你可能需要将一份报告或者简历的图片转换成PDF文件&#xff0c;以便于分享给其他人。此外&#xff0c;将图片转换成PDF文…

计算机网络自顶向下-web页面请求历程

1. 准备: DHCP、 UDP、 IP 和以太网 假定 Bob 启动他的便携机&#xff0c;然后将其用一根以太网电缆连接到学校的以太网交换机 &#xff0c; 交换机与学校的路由器相连。学校的路由器与一个 ISP 连接&#xff0c; 本例中 ISP 为 comcast.net &#xff0c;为学校提供了 DNS 服务…

0010Java程序设计-springboot+vue影院售票系统设计与实现

摘 要目 录系统实现开发环境 摘 要 看电影已经成为了人们生活中不可缺少的一部分&#xff0c;电影院售票及管理系统是电影院的日常管理及售票任务的核心&#xff0c; 在电影院中&#xff0c; 工作人员并非只是放映电影&#xff0c; 还有诸如票房统计、影片放映、影片场次安排、…

TypeScrip第一课

前言 TypeScript是一个开源的、渐进式包含类型的JavaScript超集。 作用是让开发者增强js的能力并使应用的规模扩展变得更容易。 这两点是废话&#xff0c;至于什么是超集&#xff1f; S1是S2的子集。S2是S1的超集&#xff08;类似于扩展extend&#xff09; TS基于ES6为 …

0401hive入门-hadoop-大数据学习.md

文章目录 1 Hive概述2 Hive部署2.1 规划2.2 安装软件 3 Hive体验4 Hive客户端4.1 HiveServer2 服务4.2 DataGrip 5 问题集5.1 Could not open client transport with JDBC Uri 结语 1 Hive概述 Apache Hive是一个开源的数据仓库查询和分析工具&#xff0c;最初由Facebook开发&…

elasticsearch的搜索补全提示

当用户在搜索框输入字符时&#xff0c;我们应该提示出与该字符有关的搜索项 拼音分词器 下载 要实现根据字母做补全&#xff0c;就必须对文档按照拼音分词&#xff0c;GitHub上有拼音分词插件 GitHub - medcl/elasticsearch-analysis-pinyin: This Pinyin Analysis plugin…

儿童玩具音乐芯片方案,6通道midi播放语音芯片,WT588F02B-8S

随着科技的不断进步&#xff0c;儿童玩具行业也在不断演化。如今&#xff0c;儿童们期待的不仅仅是有趣的外观&#xff0c;还有令人惊叹的音乐和声音效果。为了满足这一需求&#xff0c;深圳唯创知音研发了WT588F02B-8S&#xff0c;一款创新的6通道MIDI播放语音芯片&#xff0c…

手写Mybatis:第18章-一级缓存

文章目录 一、目标&#xff1a;一级缓存二、设计&#xff1a;一级缓存三、实现&#xff1a;一级缓存3.1 工程结构3.2 一级缓存类图3.3 一级缓存实现3.3.1 定义缓存接口3.3.2 实现缓存接口3.3.3 创建缓存KEY3.3.4 NULL值缓存key 3.4 定义缓存机制、占位符和修改配置文件3.4.1 定…