reactive effect vue 3.0

手撕Vue-数据驱动界面改变下

经过上一篇的介绍,已经实现了观察者模式的基本内容,接下来要完成的就是将上一篇的发布订阅模式运用到 Nue 中,实现数据驱动界面改变。 在监听数据变化的章节当中,根据指定的区域和数据去编译渲染界面 这个步骤处,我写了一个注释,这个注释是这样的:第一步:给外界传入的所有数据都添加get/set方法,第二 ......
界面 数据 Vue

Vue源码学习(十一):计算属性computed初步学习

好家伙, 1.Computed实现原理 if (opts.computed) { initComputed(vm,opts.computed); } function initComputed(vm, computed) { // 存放计算属性的watcher const watchers = vm ......
源码 computed 属性 Vue

开源项目 | 一款基于NodeJs+Vue3的强大的在线设计图片工具

采用 Vue3+Vite2+Vuex+ElementPlus 技术实现的在线海报图片设计工具,可用于生成电商分享图、文章长图、视频/公众号封面等。 ......
设计图片 工具 项目 NodeJs 图片

【发布】Photoshop ICO 文件格式插件 3.0

Photoshop ICO 插件是为 Photoshop 开发的功能扩展插件,使得 Photoshop 可以直接读写 ICO 格式文件。由于 Photoshop 具有强大的像素位图编辑功能,用户众多,用户基础好,这使得使用 Photoshop 制作图标变得方便,简单,快捷。而基本上降低了对多个软件协... ......
Photoshop 插件 格式 文件 ICO

vue3中setup

和vue2不同的是vue3中的script中带有setup标签 里面的setup相当于vue2中的data和methds空间可以放置函数,也可以执行函数 在写时需要有return返回值 <script setup> </script> setup执行发生在页面之前所以不能使用this函数,一般通过r ......
setup vue3 vue

手撕Vue-数据驱动界面改变上

经过上一篇的介绍,已经实现了监听数据的变化,接下来就是要实现数据变化后,界面也跟着变化,这就是数据驱动界面改变。 想要实现数据变化之后更新UI界面,我们可以使用发布订阅模式来实现,先定义一个观察者类, 再定义一个发布订阅类, 然后再通过发布订阅的类来管理观察者类。 接下来我们就来实现这个代码。 定义 ......
界面 数据 Vue

手撕Vue-监听数据变化

经过上一篇的介绍,已经实现了将模板编译成具体数据,接下来要介绍的是如何监听数据的变化,本章主要完成这个需求即可。 在我们文章的开始,我写了一个 Vue 双向数据绑定原理的文章当中封装了一个 Observer 类,这个类的作用就是监听数据的变化,当数据发生变化的时候,会通知订阅者,订阅者会去更新视图。 ......
数据 Vue

手撕Vue-编译模板数据

经上一篇编译指令数据后,我们已经可以将指令数据编译成具体需要展示的数据了,上一篇只是编译了指令数据,还没有编译模板数据,这一篇我们就来编译模板数据。 也就是 {{}} 这种模板的形式我们该如何编译,其实和指令数据编译的思路是一样的,废话不多说,直接上代码。 改造一下 buildText 方法,让它支 ......
模板 数据 Vue

手撕Vue-编译指令数据

经过上一篇的分析,完成了查找指令和模板的功能,接下来就是编译指令的数据了。 所以本章节主要处理的方法则是 buildElement 方法,我们先分析一下我们所拿到的数据在进行编码,这样会更加清晰一些。 我将 name, value 打印出来,分别对应的值是 name: v-model, value: ......
指令 数据 Vue

vue学习六

<div id="app6"> <div v-for="item in list">{{ item }}</div> </div> <script> const app6=new Vue({ el:'#app6', data:{ list:["1","2","3","4","5"] } }) </s ......
vue

vue学习五

<div id="app5"> <button @click="exchange(-5)">点我减五</button> <button @click="exchange(5)">点我加五</button> </div> <script> const app5=new Vue({ el:'#app5' ......
vue

vue项目创建和启动、ElementUI的安装和快速学习

5.创建Vue项目 方式一:命令行(不推荐) 方式二:图形化 先找到项目想要创建的位置,去到该目录下,输入cmd回车 输入 vue ui回车 可能会遇到的问题:Failed to get response from /vue-cli-version-marker 解决办法: 找到 .vuerc文件, ......
ElementUI 项目 vue

[Vue]初始Vue

Vue2,建议新人直接饮用vue.js文件 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale= ......
Vue

Error: Vue packages version mismatch: - vue@2.6.14 (D:\前端\vue01\node_modules\vue\dist\vue.runtime.common.js)- vue-template-compiler@2.7.14 (D:\前端\vue01\node_modules\vue-template-compiler\package.json)

Error: Vue packages version mismatch: - vue@2.6.14 (D:\\前端\vue01\node_modules\vue\dist\vue.runtime.common.js) - vue-template-compiler@2.7.14 (D:\前端\vu ......

输入vue ui出现Failed to get response from /vue-cli-version-marker

解决办法: 找到 .vuerc文件,位置在C:\Users\当前用户.vuerc 将packageManager修改如下: 原因是本地hadoop环境变量回合vue项目有冲突,他们都要用到yarn集群 修改后再重新输入vue ui,没有报错信息且自动打开Vue项目管理器的页面 ......

手撕Vue-查找指令和模板

接着上一篇文章,我们已经实现了提取元素到内存的过程,接下来我们要实现的是查找指令和模板。 大致的思路是这样的: 遍历所有的节点 需要判断当前遍历到的节点是一个元素还是一个文本 如果是一个元素, 我们需要判断有没有v-model属性 如果是一个文本, 我们需要判断有没有{{}}的内容 那么随着思路的展 ......
指令 模板 Vue

Vue 插槽

默认插槽 : ......
Vue

小白之vue脚手架搭建

(1)cmd命令行安装脚手架工具,安装前设置镜像不然安装很慢。 安装成功 (2)创建vue项目名字叫vue 选择最后一行 新特性回车 上下箭头选择工具,空格表示选中,绿色表示选中的工具,并回车进行下一步。 选择 2.x,选择y 选择带.json 选择no不保存预制(忘了截图),回车开始创建 ......
脚手架 vue

Vue3中的生命周期

Vue3生命周期-CSDN博客 一、Vue3中的生命周期1、setup() : 开始创建组件之前,在 beforeCreate 和 created 之前执行,创建的是 data 和 method 2、onBeforeMount() : 组件挂载到节点上之前执行的函数; 3、onMounted() : ......
周期 生命 Vue3 Vue

【Vue 2】过渡

前言 Vue 提供了多种方式来实现过渡效果。 在CSS过渡和动画中自动应用class 配合CSS动画库 在过渡钩子函数中使用JavaScript操作DOM 配合JavaScript动画库 单元素/组件的过渡 将元素或组件放在<transition>中可以在下列情形中触发过渡效果: 使用了v-if 使 ......
Vue

【Vue Router 3】入门

简介 Vue Router让SPA(Single-page Application)的构建更加容易。 Vue Router的功能: 嵌套的路由/视图映射 模块化的、基于组件的router配置 route params, query, wildcards 由Vue过渡系统支持的视图过渡效果 细粒度(f ......
Router Vue

【Vue 2】计算属性与侦听器

计算属性 vs 方法 vs 侦听器 计算属性的出现是为了解决模板内表达式太过复杂而变得难以维护。 假设我们知道长和宽,要计算一个矩形的面积,如果没有计算属性,我们可能像下面这样处理: <div id="app"> <input type="text" v-model="width"> <input ......
侦听器 属性 Vue

小白之创建第一个vue实例(vue2)

(1)安装node.js,尽量16+版本 (2)打开idea创建vue目录,再在该目录下创建vue1.html文件,并敲入下列代码。 <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>大黄哥哥带你学vue</tit ......
vue 实例 vue2

vue style 原理

vue style 的实现主要通过css 的属性选择器 什么是属性选择器? 答:用于判断标签属性的一种选择器 <style> .a[self_attribute]{ ... } </style> <!-- 生效 --> <div self_attribute class="a"></div> <!- ......
原理 style vue

vue+thinkphp5.1实现阿里云oss文件上传(服务器签名上传)

一、vue.js <template> <div class="common-box"> <el-upload class="upload-demo" drag :action="data.host" multiple :auto-upload="false" ref="upload" :data= ......
thinkphp5 thinkphp 服务器 文件 vue

23-Vue组件化编程-非单文件组件和单文件组件

非单文件组件 一个文件中包含有n个组件 Vue中使用组件的三大步骤 1. 定义组件(也就是创建组件) 2. 注册组件(这里有局部注册和全局注册) 3. 使用组件(编写组件标签) 注册组件(局部注册) 靠new Vue的时候传入components选项 <!DOCTYPE html> <html la ......
组件 文件 Vue 23

Javascript、axios、vue基础命令快速学习

1.js: JavaScript 基础学习 JavaScript基础学习 简单案例 1.点击img1,则展示img1图片默认,点击img2则展示img2图片 2.输入框鼠标聚焦onfocus后,显示小写toLowerCase(),失去焦点onblur后显示大写toUpperCase() 3.点击全选 ......
Javascript 命令 基础 axios vue

Vue工程环境搭建(NodeJs以及Vue-cli:出现权限不足的问题解决)

Vue工程 4.1需要依赖NodeJs,官网下载安装后 说明安装成功 4.2配置npm的全局安装路径 npm config set prefix "nodejs的安装目录" 没有出现报错信息即可 4.3切换npm的淘宝镜像,不然外网服务器下载资源会比较慢 npm config set registr ......
Vue 权限 Vue-cli 环境 NodeJs

Vue3 + Quasar系列-代码配置以及报错汇总记录(不断更新中)

1. Vue3 + Quasar系列-代码配置打包去掉hash后缀 去掉hash https://quasar.dev/quasar-cli-vite/developing-pwa/configuring-pwa 2. Vue3 + Quasar改变主题背景 quasar的样式和其他的框架修改不太一 ......
不断 代码 Quasar Vue3 Vue

Vue3| Pinia 持久化插件

对 vuex 或 Pinia 里面的内容做本地持久化 1. 安装插件: npm i pinia-plugin-persistedstate 2. 将插件添加到 pinia 实例上 ① main.js 里导入持久化插件:import piniaPluginPersistedstate from 'pi ......
插件 Pinia Vue3 Vue