vue 笔记】的更多相关文章

Vue笔记目录 一.Vue.js介绍 二.vue基础-vue-cli(vue脚手架) ...持续更新中,敬请期待…
最近我在收看唐金州在极客时间发布的<vue从入门到精通>,颇有收获. 唐金州,一点资讯前端技术专家,曾在蚂蚁金服就职,也是开源组件库ant design vue的作者,虽然唐老师写的ant design vue有一些瑕疵,但不得不承认,能以一己之力撸完一个UI框架,是真的强,而他本人对于vue的理解也到很深的境界,于是我特做此视频笔记,较为零散,没什么章法,只是对于一些比重要的或者比较细节的地方做一下记录. 1,Props中的对象和数组类型必须从一个工厂函数获取,比如 List: { typs…
经常做中后台系统,此类系统的权限是比较重要,拿自己做过的一些项目做个笔记. Vue实现的中后台管理系统.按钮操作权限的空置一般都是通过自定义指令Vue.directive. <el-button v-has="fq-pms" type="primary">按钮</el-button> 通常我们会把从后台请求过来的数据存贮到Vuex或localStorage,接下来我们先注册一个全局自定义指令并监控它 Vue.directive('has',{…
Vue学习笔记(2019.7.31) 目录 Vue学习笔记(2019.7.31) vue 基本指令用法 v-cloak v-text v-html v-bind v-on 跑马灯 v-on v-model class v-for key v-if v-show filter,filters 键盘修饰符 directive vue的生命周期 vue-resource Vue中的动画 vue组件 组件切换 v-if v-else component:is 父子组件传值 兄弟之间的传递 组件插槽 匿名…
一 前言 最近找了些教程,顺带着趴在官网上,看了看 Vue 的一些内容,入门的一些概念,以及基础语法,还有一些常用的操作,瞄了一眼,通篇文字+贴了部分代码 9000 多字,入门语法什么的还是很好理解的,以前也有一定做小程序的基础,感觉还是很相似的,不过对于一些稍复杂的点,感觉还是总结的不够细致,例如插槽,和计算属性等,平时前端的东西看的也不是很多,学习过程中整理的笔记,和大家一起分享交流!欢迎各位大大交流意见~ 二 初始 Vue (一) Vue 概念理解 (1) Vue.js 是什么 Vue (…
安装vue脚手架工具 sudo cnpm install -g vue-cli…
递归组件 什么是递归组件? 组件自身去调用组件自身. 代码示例 DetailList.vue(子组件-递归组件) <template> <div> <div class="item" v-for="(item,index) of list" :key="index"> <div class="item-title border-bottom"> <span class=&q…
用v-for把一个数组对应为一组元素 使用方法:v-for="(item,index) in items"//也可以使用of替代in { items:源数组 item:数组元素迭代的别名 index:当前项的选项 } <ul id="example-1"> <li v-for="item in items" :key="index"> {{ item.message }} </li> <…
条件渲染 1:指令v-if单独使用和结合v-else //单独使用 <h1 v-if="ok">Yes</h1> //组合使用 <h1 v-if="ok">Yes</h1> <h1 v-else>No</h1> //切换多个元素 放在template标签里面 <template v-if="ok"> <h1>Title</h1> <p…
针对于Vue的生命周期进行详细的说明,方面加深对各个方法的引用. 引言: 前几天重新回顾vue官网时,看到vue的生命周期,想着自己用vue开发了快一年了,就总结总结vue知识,再次加深自己对vue的理解. 正文:        首先上初始化代码(代码不完整,完整代码在下面的github里),然后在控制台打印并查看结果(console.group()表示该范围内是一个组,方便查看一组) <!DOCTYPE html> <html lang="en"> <h…
问题背景 在vue中使用axios做网络请求的时候,会遇到this不指向vue,而为undefined. 如下图所示,我们有一个 login 方法,希望在登录成功之后路由到主页,但通过 this.$router 获取路由器出错. 解决方案 使用箭头函数替代普通函数,ES6中的箭头函数 “=>” 内部的 this 属于词法作用域,由上下文确定(也就是由外层调用者vue来确定). 改成如下图所示,我们看到 this.router 已经正确的返回了路由器对象. so, 遇到类似问题的朋友们,箭头函数用…
生命周期钩子 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible&qu…
1.为什么学习Vue? 提高开发效率. 提高效率历程:原生js——>jq(解决兼容性)——>前端模板引擎——>Vue.js(减少DOM操作,注重数据业务逻辑). 2.框架与库的区别? 框架:是一个完整解决方案,一旦选择使用,中途再想改只能重构: 库:用于实现小功能,随时可切换其他库. 3.MVC和MVVM? MVC:MVC即Model.View.Controller即模型.视图.控制器: MVVM:属于前端视图层的分层开发思想,把页面分成M(model:保存每个页面单独的数据),V(vi…
数据和方法 1:只有当实例被创建时 data 中存在的属性才是响应式的,也可以预定义一些空的属性,唯一的意外就是Object.freeze(obj),这会阻止修改现有的属性;也就是说一个数据在放到根实例的data对象之前被Object.freeze操作过,那么就不在动态响应 //存在的属性是响应式的,预定义空的属性 //Object.freeze(obj) 不再响应 data: { newTodoText: '', visitCount: 0, hideCompletedTodos: false…
1.组件个人理解:  <组件>是页面的一部分,将界面切分成部分,每部分称为 <组件>   2.组件化思想:          //2.1.定义一个全局的组件,组件支持‘驼峰命名’规则 Vue.component("TodoItem",{ props: ['content'], //接收父组件传递过来的数据 template: "<li>{{content}}</li>" }) 循环遍历 list , 每一次遍历都把值给…
一: 什么是实例 我们说了,Vue 应用都应该从构建一个 Vue 实例开始.它管理着挂载在它身上的所有内容,因此实例是一个根实例, 所有的组件都应该挂载在根实例上面.创建一个 Vue 实例,需要通过 new 一个构造函数的方式,同时传入一个对象. 该对象可以传入很多内容,驱动页面的数据,模板,挂载的元素节点,方法,生命周期函数,子组件等. 二:属性和方法 每个 Vue 实例都会代理其 data 对象里的所有属性,并且让其作为驱动页面的数据.当 data 中的数据改变时,页面也会响应式的发生改变…
前言 在使用vue一个多礼拜后,感觉现在还停留在初级阶段,虽然知道怎么和后端做数据交互,但是对于mounted这个挂载还不是很清楚的.放大之,对vue的生命周期不甚了解.只知道简单的使用,而不知道为什么,这对后面的踩坑是相当不利的. 因为我们有时候会在几个钩子函数里做一些事情,什么时候做,在哪个函数里做,我们不清楚. 于是我开始先去搜索,发现vue2.0的生命周期没啥文章.大多是1.0的版本介绍.最后还是找到一篇不错的(会放在最后) vue生命周期简介 咱们从上图可以很明显的看出现在vue2.0…
如果你在使用 vue.js , 那么我想你可能会对 vue 组件之间的通信感到崩溃 . 我在使用基于 vue.js 2.0 的UI框架 ElementUI 开发网站的时候 , 就遇到了这种问题 : 一个页面有很多表单 , 我试图将表单写成一个单文件组件 , 但是表单 ( 子组件 ) 里的数据和页面 ( 父组件 ) 按钮交互的时候 , 它们之间的通讯很麻烦 : <!--父组件中引入子组件--> <template> <div> <a href="javas…
背景概述 1. CSS预处理器 css预处理器定义了一种新的编程语言,编译后成正常的CSS文件.为CSS增加一些编程的特性,无需考虑浏览器的兼容问题,让CSS更加简洁,适应性更强,可读性更佳,更易于代码的维护等诸多.CSS 预处理器语言有 scss(sass).less 等. 2.SASS和SCSS的区别 除了文件扩展名不同(分别是“.sass” 和 “.scss”)外,Sass是以严格缩进式语法规则来书写的,不带大括号和分号,而SCSS的语法和CSS书写语法类似. 项目引入 1.vue-loa…
VS Code 常用快捷键 1.注释: 单行注释:ctrl+/, 注释后再按取消 取消单行注释:alt+shift+A 注释后再按取消 2.移动行 向上移动一行:alt+up 向下移动一行:alt+down 3.显示/隐藏左侧目录栏 ctrl + b 4.复制当前行 向上复制一行:shift+alt+up 向下复制一行:shift+alt+down 5.删除当前行 shift + ctrl + k 6.控制台显示隐藏 ctrl + ~ 7.查找文件 ctrl + p 8.代码格式化 shift…
直接在 Chrome 的调试窗口中调试 Vue 代码有诸多不便, 好在 Visual Studio Code 中提供了 Debugger for Chrome 插件,能够通过配置直接在 VS Code 断点调试代码, 并且在 VS Code 的调试窗口看到 Chrome 中 console 相同的值,这篇文章就来介绍一下这个配置过程. 1.开启 Chrome 远程调试端口 首先我们需要在远程调试打开的状态下启动 Chrome, 这样 VS Code 才能 attach 到 Chrome 上. W…
在我们的项目实际开发过程中,后端的接口往往是较晚才会提供出来,并且还要写接口文档,如果前端的开发都要等到接口开发完成才开始就非常影响项目整体开发进度了,mock.js 的出现使前后端分离并行开发成为可能.使用 mock.js,前端调试可以模拟后台接口调用,返回我们定义的数据,解放了前后端开发的屏障.使用 mock.js 的过程如下: 1. 安装 mock.js 到项目. npm intsall mockjs --save-dev 2. 在src目录下建立文件夹mock,mock文件夹下建立moc…
前言 自从Vue2.0推荐大家使用 axios 开始,axios 被越来越多的人所了解.使用axios发起一个请求对大家来说是比较简单的事情,但是axios没有进行封装复用,项目越来越大,引起的代码冗余.就会非常麻烦的一件事.所以本文会详细的跟大家介绍,如何封装请求,并且在项目组件中复用请求.有需要的朋友可以做一下参考. 封装的基本要求 统一 url 配置 统一 api 请求 request (请求)拦截器,例如:带上token等,设置请求头 response (响应)拦截器,例如:统一错误处理…
在Vue1.0的时候有一个官方推荐的 ajax 插件 vue-resource,但是自从 Vue 更新到 2.0 之后,官方就不再更新 vue-resource. 关于为什么放弃推荐? -> 尤大原话 最近团队讨论了一下,Ajax 本身跟 Vue 并没有什么需要特别整合的地方,使用 fetch polyfill 或是 axios.superagent 等等都可以起到同等的效果, vue-resource 提供的价值和其维护成本相比并不划算,所以决定在不久以后取消对 vue-resource 的官…
VUE启动流程 1. package.json 在执行npm run dev的时候,会在当前目录中寻找 package.json 文件, 有点类似 Maven 的 pom.xml 文件,包含项目的名称版本.项目依赖等相关信息. { # 版本信息 "name": "kitty-ui", "version": "1.0.0", "description": "kitty ui project"…
安装NPM 首先在命令终端输入 npm -v 检测是否安装 npm.如果没有,按照下面教程进行安装. 下载地址: nodejs中文网 到官网下载自己系统对应的版本,这里我们下载Windows系统的64位zip文件,下载完成后解压,可以看到里面有一个node.exe的可执行文件. 把Node添加到系统环境变量里面,打开cmd命令行,输入npm -v,如果出现如下图的显示,说明已经安装正确. 如果你安装的是旧版本的 npm,可以通过 npm 命令进行升级. sudo npm install npm…
<div id="root"> <div> <input v-model="inputValue" /> <button @click="onAdd">submit</button> </div> <ul> <todo-item v-for="(item, index) of list" :key="index" :c…
对于刚接触vue一两个月.才仅仅独立做过一两个vue项目的小白来说,以前一直自我感觉自己知道vue的生命周期, 直到前两天去面试,面试官让我说一下vue的生命周期... 其实我的心中是有那张图的,但是因为学习.分析的年代久远,心中有图却不知道怎么表述,成了个能发声的哑巴, 最后也就只能按顺序说出了那几个钩子函数,真是憋足了气! 直到今天一鼓作气二刷生命周期,我才恍然大悟,原来我之前的理解中,潜意识里一直是把那几个钩子函数当做了vue的生命周期! 简直了,想想那天,面试官肯定在心里把我鄙视死了吧!…
中央事件总线 - 就是一个名字可以叫做bus的vue空实例,里边没有任何内容: var bus = new Vue(); 人如其名,她就像一个公交车一样,来回输送人,将a站点的A输送到b站点,再将b站点的B输送到a站点: 这里a,b站点就像父.子组件,也像兄.弟组件,或者像两个没有任何亲戚关系的任何组件: 而A,B就像是各个组件内部要传输的数据或者要执行的命令信息,靠bus来通信. 如果有父子组件通信知识基础的,应该记得当初父子组件通信,父组件中用$on监听,子组件中用$emit发射. 现如今父…
created 钩子可以用来在一个实例被创建之后执行代码: new Vue({ data: { a: 1 }, created: function () { // `this` 指向 vm 实例 console.log('a is: ' + this.a) }})// => "a is: 1" Object.freeze(obj) ,这会阻止修改现有的属性,也意味着响应系统无法再追踪变化. <span v-once>这个将不会改变: {{ msg }}</spa…