vue-router

【前端词典】Vuex 注入 Vue 生命周期的过程

僤鯓⒐⒋嵵緔 提交于 2021-01-20 15:31:50
前言 这篇文章是【前端词典】系列文章的第 13 篇文章,接下的 9 篇我会围绕着 Vue 展开,希望这 9 篇文章可以使大家加深对 Vue 的了解。当然这些文章的前提是默认你对 Vue 有一定的基础。如果一点基础都没有,建议先看官方文档。 第一篇文章我会结合 Vue 和 Vuex 的部分源码,来说明 Vuex 注入 Vue 生命周期的过程。 说到源码,其实没有想象的那么难。也和我们平时写业务代码差不多,都是方法的调用。但是源码的调用树会复杂很多。 为何使用 Vuex 使用 Vue 我们就不可避免的会遇到组件间共享的数据或状态。应用的业务代码逐渐复杂,props、事件、事件总线等通信的方式的弊端就会愈发明显。这个时候我们就需要 Vuex 。Vuex 是一个专门为 Vue 设计的状态管理工具。 状态管理是 Vue 组件解耦的重要手段。 它借鉴了 Flux、redux 的基本思想,将状态抽离到全局,形成一个 Store。 Vuex 不限制你的代码结构,但需要遵守一些规则: 应用层级的状态应该集中到单个 store 对象中 提交 mutation 是更改状态的唯一方法,并且这个过程是同步的 异步逻辑都应该封装到 action 里面 Vuex 注入 Vue 生命周期的过程 我们在安装插件的时候,总会像下面一样用 Vue.use() 来载入插件,可是 Vue.use() 做了什么呢?

Changing body styles in vue router

做~自己de王妃 提交于 2021-01-20 15:27:31
问题 I'm using Vue router with two pages: let routes = [ { path: '/', component: require('./components/HomeView.vue') }, { path: '/intro', component: require('./components/IntroView.vue') } ] This works fine, except that each of my components has different body styling: HomeView.vue: <template> <p>This is the home page!</p> </template> <script> export default { } </script> <style> body { background: red; } </style> IntroView.vue: <template> <div> <h1>Introduction</h1> </div> </template> <script>

关于Vue

自古美人都是妖i 提交于 2021-01-13 17:53:00
一:关于vue 1:vue是由饿了么ued团队开发并维护的一个渐进式js框架 2:vue是以数据作为驱动,既有angular中的数据双向绑定,也有react当中的框架,是mvm框架,也仅仅是view层,与它类似的框架有knockout.js ,avalon.js 3:vue中实现数据双向绑定的原理;getter和setter(但我们一般是用{{ }}和v-module来实现数据的双向绑定,跟angular中的数据双向绑定机制几乎是一样的) 4:如何使用vue去构建项目  1)使用vue-cli脚手架工具进行整个项目的构建   2)使用vue-router来实现vue中的切换   3)使用vuex进行状态集的管理,axios或者是fetch或者是vue-resource来进行数据的交互   4)使用template模板引擎进行组件化的开发 5:常用指令;   v-if:条件渲染指令   v-for:循环遍历指令   v-bind:绑定指令,绑定属性的   v-html:替换dom内容指令   v-text:替换文本内容指令   v-on:监听事件指令;v-on:click="fn"   slot:分发属性,占位符,创建很多相似组件,用来提高组件的复用性,替换组件内部元素   component:购物车标签,切换标签,is属性,说明那个组件被渲染 6:vue中的表达式和计算属性

Vue技巧

余生长醉 提交于 2021-01-11 08:34:10
转载: https://segmentfault.com/a/1190000014085613?utm_source=channel-hottest 对自己有用,做个笔记,有兴趣可以去以上地址去看. 第一招:化繁为简的Watchers 场景还原: created(){    this .fetchPostList(); }, watch: { searchInputValue(){      this .fetchPostList(); } } 组件创建时需要获取一次列表,同时数据更新需要重新重新渲染列表,immediate:true表示创建组件时立马执行一次. 并且直接使用函数的字面量名称. watch: {   searchInputValue:{     handler: 'fetchPostList' ,     immediate: true  } } 第二招:一劳永逸的组件注册 场景还原: import BaseButton from './baseButton' import BaseIcon from './baseIcon' import BaseInput from './baseInput' export default { components: { BaseButton, BaseIcon, BaseInput } } <BaseInput v-model

Webpack 打包太慢? 试试 Dllplugin

陌路散爱 提交于 2021-01-09 11:10:10
webpack在build包的时候,有时候会遇到打包时间很长的问题,这里提供了一个解决方案,让打包如丝般顺滑~ 1. 介绍 在用 Webpack 打包的时候,对于一些不经常更新的第三方库,比如 react , lodash , vue 我们希望能和自己的代码分离开,Webpack 社区有两种方案 CommonsChunkPlugin DLLPlugin 对于 CommonsChunkPlugin ,webpack 每次打包实际还是需要去处理这些第三方库,只是打包完之后,能把第三方库和我们自己的代码分开。而 DLLPlugin 则是能把第三方代码完全分离开,即每次只打包项目自身的代码。Dll这个概念是借鉴了Windows系统的dll,一个dll包,就是一个纯纯的依赖库,它本身不能运行,是用来给你的app引用的。 2. 模板webpack-simple 用法 要使用 DLLPlugin ,需要额外新建一个配置文件。所以对于用这种方式打包的项目,一般会有下面两个配置文件 webpack.config.js webpack.dll.config.js 在项目根目录新建一个文件 webpack.dll.config.js const path = require('path'); const webpack = require('webpack'); module.exports = {

程序员到底要不要用框架开发?

倾然丶 夕夏残阳落幕 提交于 2021-01-08 20:22:50
程序IT圈 www.cxyquan.com 优秀程序猿技术公众号 作者:缘自世界 https://segmentfault.com/a/1190000016801687 最近,在持续关注一个Twitter话题,就是 Why do people decide to use frameworks? ,这个话题是由Nicole Sullivan提出的。 刚开始,我对这个问题也没有太在意,也就是随意的看了看,正如提问者Nicole Sullivan说的那样,我刚开始也觉得这是一个愚蠢的问题。但是这个问题就像蒲公英的种子一样,就这么在我的脑海里扎了根,截至到我这写这篇文章之前,我都有一直关注这个问题,并且在思考这个问题。 虽然这个问题看似简单,你或多或少都能回答出那么一两点,但是我想你可能自己也对自己的回答不太满意吧?不管你怎么想的,但我渐渐收起了我从一开始的轻视态度,开始正视这个问题。 在这里,我还要感谢Nicole Sullivan,是她的这个话题,让我对为什么使用框架有了全方位的了解。 为什么用 可以集中精力在业务的实现,而不用把过多的精力和人力用在代码功能逻辑的实现上。 可以避免由我们自己写带来的很多bug。 可以暂时快速的解决掉某一问题,以待以后的进一步解决。 可以避免写技术文档和介绍功能实现给团队成员的问题。 可以极大的缩短开发的周期。 因为成熟的框架本身就是完善的解决方案

程序员到底要不要用框架开发?

我与影子孤独终老i 提交于 2021-01-08 20:09:14
作者:缘自世界 https://segmentfault.com/a/1190000016801687 最近,在持续关注一个Twitter话题,就是 Why do people decide to use frameworks? ,这个话题是由Nicole Sullivan提出的。 刚开始,我对这个问题也没有太在意,也就是随意的看了看,正如提问者Nicole Sullivan说的那样,我刚开始也觉得这是一个愚蠢的问题。但是这个问题就像蒲公英的种子一样,就这么在我的脑海里扎了根,截至到我这写这篇文章之前,我都有一直关注这个问题,并且在思考这个问题。 虽然这个问题看似简单,你或多或少都能回答出那么一两点,但是我想你可能自己也对自己的回答不太满意吧?不管你怎么想的,但我渐渐收起了我从一开始的轻视态度,开始正视这个问题。 在这里,我还要感谢Nicole Sullivan,是她的这个话题,让我对为什么使用框架有了全方位的了解。 为什么用 可以集中精力在业务的实现,而不用把过多的精力和人力用在代码功能逻辑的实现上。 可以避免由我们自己写带来的很多bug。 可以暂时快速的解决掉某一问题,以待以后的进一步解决。 可以避免写技术文档和介绍功能实现给团队成员的问题。 可以极大的缩短开发的周期。 因为成熟的框架本身就是完善的解决方案。一般它们都有自己的生态系统,有众多技术达人参与。这样我们在使用中

关于假期的一些想法,以及安排

Deadly 提交于 2021-01-06 02:27:35
从今年 2 月份开始,就是开始忙公司的项目,还记得 2 月份的时候,公司早早就开班工作了,每天居家工作,早上早早起来就是学习一个半小时,然后就开始工作,那段时间真的很压抑啊,每天那里也不能去,只能待在家里,只能晚上出去透透气。 在 2020 年 10 月 1 日,那天也是中秋节,也是国庆节,这是懂事以来第一次碰到的,合起来就是中国快乐的意思,这个意义特别重大,虽然今年由于疫情的影响,发生了很多事情,但是一切都是最好的安排,一切都是宝贵的经历吧。 如今糟糕的时间逐渐消退了,国内也渐渐恢复景气了,只要我们坚持出门戴口罩,听专家的话,我们终究能够战胜这场疫情。现在也不能有侥幸心理,因为最近这阵子疫情总是反反复复的。 每次回家都会到溪边跑步的,这个已经成为一种习惯了,每次到溪边跑步,都会油然而生一种自豪,一种对未来的憧憬,就会觉得心里舒服了很多,然后一直告诉自己,在内心一直默念,你行的,你行的,你真的行的。 在心里学中,有一个概念叫做心里暗示,或许这就是一种心里暗示吧,足够使你在遭受挫折的时候,重新给自己勇气,重新振作起来。还有一个特别好的坚持就是,坚持跑步。我相信大家都对下面这位日本作家非常熟悉: 他的很多作品我们都十分熟悉,比如长篇小说《挪威的森林》、《海边的卡夫卡》、《舞舞舞》等,但本次为大家介绍的,并不是村上的小说,而是他的一本“另类著作”——《当我谈跑步时我谈些什么》

某课网

心已入冬 提交于 2021-01-04 04:05:27
百度网盘下载 第1章 准备工作 介绍了 Flow、Vue.js 的源码目录设计、Vue.js 的源码构建方式,以及从入口开始分析了 Vue.js 的初始化过程。 1-1 课程简介 1-2 准备工作 1-3 认识 Flow-文档 1-4 认识 Flow 1-5 Vue.js 源码目录设计-文档 1-6 Vue.js 源码目录设计 1-7 Vue.js 源码构建-文档 1-8 Vue.js 源码构建 1-9 从入口开始-文档 1-10 从入口开始 第2章 数据驱动 详细讲解了模板数据到 DOM 渲染的过程,从 new Vue 开始,分析了 mount、render、update、patch 等流程。 2-1 数据驱动-文档 2-2 数据驱动 2-3 new Vue 发生了什么-文档 2-4 new Vue 发生了什么 2-5 Vue 实例挂载的实现-文档 2-6 Vue 实例挂载的实现 2-7 render-文档 2-8 render 2-9 Virtual DOM-文档 2-10 Virtual DOM 2-11 createElement-文档 2-12 createElement 2-13 update-文档 2-14 update 第3章 组件化 分析了组件化的实现原理,并且分析了组件周边的原理实现,包括合并配置、生命周期、组件注册、异步组件。 3-1 组件化-文档 3-2

Vue学习官网和Vue的书籍 目录结构

谁说我不能喝 提交于 2021-01-03 07:47:11
Vue基础知识学习网站【中文】 https://cn.vuejs.org/v2/guide/ Vue路由知识学习网站【中文】 https://router.vuejs.org/zh/guide/ Vuex更为复杂的Vue知识学习网站【中文】 https://vuex.vuejs.org/zh/ Vue脚手架搭建和使用学习网站【中文】 https://cli.vuejs.org/zh/guide/ Vue自学可以参考的博客,博客中有demo https://www.cnblogs.com/keepfool/p/5657065.html https://www.xiuyuan.info/?p=115 https://www.cnblogs.com/keepfool/p/5619070.html https://www.cnblogs.com/wisewrong/p/6277262.html 第1章 Vue.js简介 1.1 Vue.js是什么 1 1.2 为什么要用Vue.js 2 1.3 Vue.js的Hello world 2 第2章 基础特性 2.1 实例及选项 5 2.1.1 模板 6 2.1.2 数据 7 2.1.3 方法 9 2.1.4 生命周期 10 2.2 数据绑定 12 2.2.1 数据绑定语法 13 2.2.2 计算属性 17 2.2.3 表单控件 18 2.2.4