Vue2基础学习

vue基础学习

  • Vue基础指令
    • v-show 和 v-if
    • v-on指令
    • v-bind指令
    • v-bind操作class
    • v-bind 操作style
    • v-for 指令练习:图书管理案例
    • v-model
    • v-model原理
  • 指令修饰符
    • v-model指令修饰符
    • @click.stop-》阻止冒泡
    • 按键修饰符
    • 阻止默认行为
  • 计算属性
    • 计算属性简写
    • computed计算属性VS方法methods
    • 计算属性完整写法
  • watch 侦听器(监视器)
    • watch 侦听器简写
    • watch 侦听器完整写法
  • Vue生命周期
    • Vue生命周期钩子函数
  • Vue-cli
    • 使用步骤
    • 项目目录介绍
    • 项目支持Less
    • 普通组件的注册
      • 局部注册
      • 全局注册
    • 组件的样式冲突 scoped
    • data是一个函数
    • 组件通信
      • 父->子通信
      • 子 -> 父通信
      • 什么是prop
    • EventBus非父子通信(了解)
    • res 和 refs
    • Vue异步更新和$nextTick
    • slot插槽
    • ViewRouter
      • 查询参数传参
      • 动态路由传参
    • 首页重定向和404
    • 点击按钮跳转
  • Vuex

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原理

在这里插入图片描述

指令修饰符

在这里插入图片描述

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

EventBus非父子通信(了解)

在这里插入图片描述
EventBus.js

import Vue from 'vue'
const Bus = new Vue()
export default Bus

res 和 refs

在这里插入图片描述

Vue异步更新和$nextTick

在这里插入图片描述

slot插槽

适应场景:组件结构一样,内容不一样
在这里插入图片描述
插槽视频:https://www.bilibili.com/video/BV1HV4y1a7n4?p=66&spm_id_from=pageDriver&vd_source=c3fc4867486b99c0b85501121f575279

ViewRouter

视频地址:https://www.bilibili.com/video/BV1HV4y1a7n4?p=73&spm_id_from=pageDriver&vd_source=c3fc4867486b99c0b85501121f575279

查询参数传参

在这里插入图片描述

动态路由传参

在这里插入图片描述

首页重定向和404

在这里插入图片描述

点击按钮跳转

在这里插入图片描述
如果跳转的时候传参呢
在这里插入图片描述
总结
在这里插入图片描述

Vuex


store定义
在这里插入图片描述

在这里插入图片描述
修改state中的数据
在这里插入图片描述
调用mutation传参,如果有多个,包装成json对象即可
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

剪枝基础与实战(5): 剪枝代码详解

对模型进行剪枝,我们只对有参数的层进行剪枝,我们基于BatchNorm2d对通道重要度 γ \gamma γ参数进行稀释训练。对BatchNorm2d及它的前后层也需要进行剪枝。主要针对有参数的层:Conv2d、BatchNorm2d、Linear。但是我们不会对Pool2d 层进行剪枝,因为Pool2d只用来做下采样,没…

​LeetCode解法汇总1123. 最深叶节点的最近公共祖先

目录链接&#xff1a; 力扣编程题-解法汇总_分享记录-CSDN博客 GitHub同步刷题项目&#xff1a; https://github.com/September26/java-algorithms 原题链接&#xff1a;力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 描述&#xff1a; 给你一个有…

以antd为例 React+Typescript 引入第三方UI库

本文 我们来说说 第三方UI库 其实应用市场上的 第三方UI库都是非常优秀的 那么 react 我们比较熟的肯定还是 antd 我们还是来用它作为演示 这边 我们先访问他的官网 https://3x.ant.design/index-cn 点击开始使用 在左侧 有一个 在 TypeScript 中使用 通过图标我们也可以看出…

vs code调试rust乱码问题解决方案

在terminal中 用chcp 65001 修改一下字符集&#xff0c;就行了。有的博主推荐 修改 区域中的设置&#xff0c;这会引来很大的问题。千万不要修改如下设置&#xff1a;

机器学习算法系列————决策树(二)

1.什么是决策树 用于解决分类问题的一种算法。 左边是属性&#xff0c;右边是标签。 属性选择时用什么度量&#xff0c;分别是信息熵和基尼系数。 这里能够做出来特征的区分。 下图为基尼系数为例进行计算。 下面两张图是对婚姻和年收入的详细计算过程&#xff08;为GINI系…

DataTable扩展 列转行方法(2*2矩阵转换)

源数据 如图所示 // <summary>/// DataTable扩展 列转行方法&#xff08;2*2矩阵转换&#xff09;/// </summary>/// <param name"dtSource">数据源</param>/// <param name"columnFilter">逗号分隔 如SDateTime,PM25,PM10…

基于SpringBoot+Vue架构的药物咨询平台

✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取项目下载方式&#x1f345; 一、项目背景介绍&#xff1a; 随着人们对健康和医疗…

文末送书!谈谈原型模式在JAVA实战开发中的应用(附源码+面试题)

作者主页&#xff1a;Designer 小郑 作者简介&#xff1a;3年JAVA全栈开发经验&#xff0c;专注JAVA技术、系统定制、远程指导&#xff0c;致力于企业数字化转型&#xff0c;CSDN博客专家&#xff0c;蓝桥云课认证讲师。 本文讲解了 Java 设计模式中的原型模式&#xff0c;并给…

Android后退堆栈

修改代码 现在的ItemClick使得用户单击其中一个项目时就会跳转&#xff0c;现在要修改其使得在一个小屏幕设备上才会这样做&#xff0c;在一个大屏幕设备上运行用户选择一个训练项目时在右边的片段显示响应的信息。 希望片段处理后退的方式&#xff1a;假设用户在手机上运行这…

tf和pytorch每轮epoch显示输出的auc是如何计算的

tf和pytorch每轮epoch显示输出的auc是如何计算的&#xff1f; tf的计算 近似 ROC 或 PR 曲线的 AUC&#xff08;曲线下面积&#xff09;。 tf1 通过计算真阳性&#xff0c;假阳性&#xff0c;假阴性&#xff0c;真阴性值的计算策略。 tensorflow AUC & streaming_auc_我…

leetcode 20.有效括号 栈的简单应用

题目 数据结构 栈 code var isValid function(s) {// 空串和长度为奇数的字符串一定不符合要求if(!s || s.len%2){return true}let match {(: ),[: ],{: }}let stack []let len s.lengthfor(let i0; i<len; i){const ch s[i]if(ch[ || ch( || ch{){// 如果是左括号,…

Podman安装与使用

1.Podman简介 Podman是一个无守护进程的容器引擎&#xff0c;用于在Linux系统上开发、管理和运行OCI容器。 Podman的主要功能包括&#xff1a; 创建和管理容器&#xff1a;Podman可以创建、启动、停止和删除容器&#xff0c;以及管理容器的生命周期。容器镜像管理&#xff1…