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

Vue2知识点

注意:笔记内容来自网络

1Vue指令

指令是指:带有v-前缀的特殊标签属性

1.1 v-html

  • v-html(类似 innerHTML)

    • 使用语法:<p v-html="intro">hello</p>,意思是将 intro 值渲染到 p 标签中

    • 类似 innerHTML,使用该语法,会覆盖 p 标签原有内容

    • 类似 innerHTML,使用该语法,能够将HTML标签的样式呈现出来。

举例:

 展示:

1.2 v-show与v-if

1.3 v-else和v-else-if 

1.4 v-on 

 方式一:内联语句方式

 方式二:配置methods方式

 1.5 v-bind

将表达式的值赋值给属性

 举例:

1.6 v-for

常常用来遍历数组

 

 1.7 v-model

1.8 指令修饰符 

2 v-bind控制样式

3 计算属性

<div id="app"><h3>小黑的礼物清单</h3><table><tr><th>名字</th><th>数量</th></tr><tr v-for="(item, index) in list" :key="item.id"><td>{{ item.name }}</td><td>{{ item.num }}个</td></tr></table><!-- 目标:统计求和,求得礼物总数 --><p>礼物总数:{{ totalCount }} 个</p></div><script src="./vue.js"></script><script>const app = new Vue({el: '#app',data: {// 现有的数据list: [{ id: 1, name: '篮球', num: 2 },{ id: 2, name: '玩具', num: 2 },{ id: 3, name: '铅笔', num: 5 },]},computed: {// 计算属性,计算礼物总数totalCount() {return this.list.reduce((sum, item) => sum + item.num, 0)}}})</script>

this.list.reduce((sum, item) => sum + item.num, 0)}代码解释:这是遍历数组,对里面数据求和,其中0表示初始值,sum表示每次计算的值,item表示数组的每一项。

computed与methods区别?

computed具有缓存特性,可以提升性能。

 假设页面中多处需要计算数值,如果采用计算属性,只要计算一次值,如果采用methods的话需要,计算多次。

计算属性的完整写法

4 字符串从常用操作

字符串常用操作

5 watch侦听器

 

简单写法

 

完整写法

 

 6 vue的生命周期

 7 图表设计

以创建饼图为例:(不同图片可以率有区别,具体可以参考文档)

步骤一:下载 - Apache ECharts

 

步骤二:在项目中导入echarts.js

步骤三:设计容器来显示图表

步骤四:创建vue实例,在mounted钩子中导入代码。

var myChart = echarts.init(document.getElementById('main'));option = {backgroundColor: '#2c343c',title: {text: 'Customized Pie',left: 'center',top: 20,textStyle: {color: '#ccc'}},tooltip: {trigger: 'item'},visualMap: {show: false,min: 80,max: 600,inRange: {colorLightness: [0, 1]}},series: [{name: 'Access From',type: 'pie',radius: '55%',center: ['50%', '50%'],data: [{ value: 335, name: 'qq' },{ value: 310, name: 'Email' },{ value: 274, name: 'Union Ads' },{ value: 235, name: 'Video Ads' },{ value: 400, name: 'Search Engine' }].sort(function (a, b) {return a.value - b.value;}),roseType: 'radius',label: {color: 'rgba(255, 255, 255, 0.3)'},labelLine: {lineStyle: {color: 'rgba(255, 255, 255, 0.3)'},smooth: 0.2,length: 10,length2: 20},itemStyle: {color: '#c23531',shadowBlur: 200,shadowColor: 'rgba(0, 0, 0, 0.5)'},animationType: 'scale',animationEasing: 'elasticOut',animationDelay: function (idx) {return Math.random() * 200;}}]
};myChart.setOption(option);}

 步骤五:更新图表(只需要更改data数据,图表就会跟着改变)

 // 更新图表this.myChart.setOption({// 数据项series: [{// data: [//   { value: 1048, name: '球鞋' },//   { value: 735, name: '防晒霜' }// ]data: this.list.map(item => ({ value: item.price, name: item.name}))}]})

总代码:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script src="../echarts.min.js"></script><script src="../vue.js"></script>
</head>
<body><div id="main" style="width: 800px;height:400px;"></div><script>var app = new Vue({el: '#main',mounted() {var myChart = echarts.init(document.getElementById('main'));option = {backgroundColor: '#2c343c',title: {text: 'Customized Pie',left: 'center',top: 20,textStyle: {color: '#ccc'}},tooltip: {trigger: 'item'},visualMap: {show: false,min: 80,max: 600,inRange: {colorLightness: [0, 1]}},series: [{name: 'Access From',type: 'pie',radius: '55%',center: ['50%', '50%'],data: [{ value: 335, name: 'qq' },{ value: 310, name: 'Email' },{ value: 274, name: 'Union Ads' },{ value: 235, name: 'Video Ads' },{ value: 400, name: 'Search Engine' }].sort(function (a, b) {return a.value - b.value;}),roseType: 'radius',label: {color: 'rgba(255, 255, 255, 0.3)'},labelLine: {lineStyle: {color: 'rgba(255, 255, 255, 0.3)'},smooth: 0.2,length: 10,length2: 20},itemStyle: {color: '#c23531',shadowBlur: 200,shadowColor: 'rgba(0, 0, 0, 0.5)'},animationType: 'scale',animationEasing: 'elasticOut',animationDelay: function (idx) {return Math.random() * 200;}}]
};myChart.setOption(option);}})</script></body>
</html>

8 工程化开发

 

 

 9 普通组件注册与使用        

 9.1局部注册

 9.2局部注册组件使用

 9.3 全局注册

 9.4 全局注册组件使用

在任意组件上都可以直接使用。

9.5注册方式选择

10 组件样式冲突解决

解决方法: 在style标签加上scoped

 11 data选项必须是一个函数

 12 组件之间通信

 

12.1 父子通信

 12.1.1 父传子

12.1.2 子传父

12.1.3 props详解

 

 

 12.2 非父子之间通信

12.2.1 事件总线方式

步骤一:创建一个大家都可以访问的事件总线 

步骤二:设置接收方(监听方) 

步骤是:设置发送方

 12.2.2 provide-inject方式

provide:提供

inject:添加

 13 ref与$refs    

   14 $nextTick

 15 自定义指令

   

全局注册应该定义在main.js中,局部注册定义在需要用到的组件中 

16插槽 

 16.1 默认插槽

 

 16.2插槽的后备内容

16.3 具名插槽

 

 16.4作用域插槽

17 路由基本使用 

 

18 路由模块封装 

        

步骤一:在src下创建router文件夹,然后在router下创建.js文件。

 步骤二:在main.js导入

 19 router-link

20 声明式导航跳转传参 

20.1 方式一

在函数中调用需要多加一个this

 

20.2 方式二

20.3 两种方式区别

21 路由重定向 

21.1 404 重定向

 22 路由模式

23 编程式导航-基本跳转 

23.1 方式一

23.2 方式二 

23.3 传参

23.3.1 方式一

 

 

23.3.2 方式二

 

 24 配置二级路由

25 返回到上一个路由

 26 缓存组件        

 

 

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Docker部署镜像 发布容器 容器网络互联 前端打包
  • Spring Boot项目:多模块还是单模块?架构师的一次深思熟虑!
  • 重修设计模式-结构型-门面模式
  • MySQL 5.7.42升级到MySQL 8.4.2
  • uniapp child.onFieldChange is not a function
  • js 3个事件监听器 EventListeners
  • Android Studio 安装配置教程(Windows最详细版)
  • 镀金引线---
  • 【楚怡杯】职业院校技能大赛 “云计算应用” 赛项样题四
  • 港迪技术IPO上市实施募投项目,带动公司多维度能力综合提升
  • Java 之多线程高级
  • 安卓13系统导航方式分析以及安卓13修改默认方式为手势导航 android13修改导航方式
  • 828华为云征文|华为Flexus云服务器搭建Cloudreve私人网盘
  • Java中的红黑树(如果想知道Java中有关红黑树的知识点,那么只看这一篇就足够了!)
  • 【渗透测试】-vulnhub源码框架漏洞-Os-hackNos-1
  • [原]深入对比数据科学工具箱:Python和R 非结构化数据的结构化
  • el-input获取焦点 input输入框为空时高亮 el-input值非法时
  • FastReport在线报表设计器工作原理
  • IndexedDB
  • JavaScript创建对象的四种方式
  • Js基础知识(一) - 变量
  • JS数组方法汇总
  • nodejs实现webservice问题总结
  • REST架构的思考
  • SpringCloud(第 039 篇)链接Mysql数据库,通过JpaRepository编写数据库访问
  • Spring思维导图,让Spring不再难懂(mvc篇)
  • Transformer-XL: Unleashing the Potential of Attention Models
  • UEditor初始化失败(实例已存在,但视图未渲染出来,单页化)
  • vagrant 添加本地 box 安装 laravel homestead
  • vue-cli在webpack的配置文件探究
  • Vue小说阅读器(仿追书神器)
  • WePY 在小程序性能调优上做出的探究
  • 从伪并行的 Python 多线程说起
  • 工程优化暨babel升级小记
  • 精益 React 学习指南 (Lean React)- 1.5 React 与 DOM
  • 爬虫进阶 -- 神级程序员:让你的爬虫就像人类的用户行为!
  • 排序(1):冒泡排序
  • 实战|智能家居行业移动应用性能分析
  • 首页查询功能的一次实现过程
  • shell使用lftp连接ftp和sftp,并可以指定私钥
  • ​一文看懂数据清洗:缺失值、异常值和重复值的处理
  • $emit传递多个参数_PPC和MIPS指令集下二进制代码中函数参数个数的识别方法
  • (C11) 泛型表达式
  • (附源码)springboot炼糖厂地磅全自动控制系统 毕业设计 341357
  • (附源码)计算机毕业设计SSM疫情下的学生出入管理系统
  • (十六)串口UART
  • (十六)一篇文章学会Java的常用API
  • (十一)手动添加用户和文件的特殊权限
  • (四)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (原创)可支持最大高度的NestedScrollView
  • (转)四层和七层负载均衡的区别
  • *上位机的定义
  • .Net 6.0--通用帮助类--FileHelper
  • .NET C# 使用 SetWindowsHookEx 监听鼠标或键盘消息以及此方法的坑
  • .NET Core 中插件式开发实现