Vue 使用技巧手记】的更多相关文章

watch监听 Vue监听属性有很多种写法,也有几个配置选项 使用配置项 new Vue({ watch:{ content:{ handler(old,newVal){ console.log(old,newVal) }, deep:true, immediate:true } } }) deep:是一个布尔类型,告诉Vue以递归的方式监听嵌套对象内部值的变化. immediate:是一个布尔值类型,会立即触发而调用处理函数,而不用等到属性值第一次发生变化时才调用. 以上两个值默认值都为fal…
转载:https://segmentfault.com/a/1190000014085613 第一招:化繁为简的Watchers 场景还原: created(){ this.fetchPostList() }, watch: { searchInputValue(){ this.fetchPostList() } } 组件创建的时候我们获取一次列表,同时监听input框,每当发生变化的时候重新获取一次筛选后的列表这个场景很常见,有没有办法优化一下呢? 招式解析:首先,在watchers中,可以直…
众所周知,我们写vue项目的时候都会创建很多个文件,尤其是一些中大型项目,会有很深的文件夹,当你去引入的时候,要写很长的路径比如我要引入一个css文件, 必须得 import  '../../../styles/iconfont.css' ,文件放的越深,路径就越长,所以我来说一个小技巧. 当我们刚开始创建好vue项目的时候看到一些文件引入的前面有一个@符号,这个符号的意义是什么呢? 我们打开build文件下的webpack.base.conf.js,用Ctrl+f搜索@,找到之后你会看到 '@…
前言: 在大概学完 vue 整体框架后,有幸接触到花裤衩大神写的 vue-elementUI-admin 模板框架,把这个模板框架当作 demo,跟着 code 一遍,最大的收获是在以逻辑简单的模板熟悉了一个项目的 code 流程,其中对页面的分割.组件间的通信.路由的设置.vuex和请求的结合以及 axios 的封装等都是收获颇丰. 在目前这个项目中,我又接触到了一些其他技巧,现此纪录. 一.父子组件的生命周期 1.加载渲染过程中: 父 beforeCreate -> 父 created ->…
Vue 组件通讯 ——常见使用场景可以分为三类: 父子通信: 父向子传递数据是通过 props,子向父是通过 events($emit):通过父链 / 子链也可以通信($parent / $children):ref 也可以访问组件实例:provide / inject API:$attrs/$listeners 兄弟通信: Bus:Vuex 跨级通信: Bus:Vuex:provide / inject API.$attrs/$listeners 1.require.context() 1.场…
​博客地址:https://ainyi.com/95 本人玩了 Vue 两年多,在此总结一下开发时的一些技巧和方法 自定义组件 v-model v-model 是 Vue 提供的一个语法糖,它本质上是由 value 属性 + input 事件组成的(都是原生的默认属性) 自定义组件中,可以通过传递 value 属性并监听 input 事件来实现数据的双向绑定 自定义组件 <template> <div> <input :value="value" @inp…
分页技巧 v1.0+ 版本的时候使用过滤器 limitBy 实现 v2.0+ 版本的时候使用compute使用 slice 方法实现 data:{ pageNum:10 }, computed:{ newArr:()=>{ return this.oldArr.slice(0,this.pageNum) } } //获取更多的时候改变 pageNum,遍历数组时遍历新newArr  mounted钩子函数 在mounted钩子函数中不能保证所有的子组件都被挂载完毕,如果希望在所有子组件挂载完毕再…
Vue懒加载包括图片懒加载与路由懒加载 1.图片懒加载: 首先安装 vue-lazyload包 然后导入并加载事先下载好的加载图片 import VueLazyLoad from 'vue-lazyload' Vue.use(VueLazyLoad,{ loading: require('@/common/image/default.png') }) 在使用时可以在需要加载图片的位置使用: <img width="100" heigth="100" v-laz…
本文由云+社区发表 1. 需求 最近的项目中,需要实现在vue框架中动态渲染带提示框的单选/多选文本框,具体的效果如下图所示,在输入框聚焦时,前端组件通过接收的kv参数渲染出选项,用户点击选项,可以将选择的选项的key拼装到输入框中,同时允许用户自由输入. 由于项目中使用的element-ui,首选考虑使用组件的input和select组件,然而实际使用中发现框架提供的组件不能很好满足此需求.例如,使用带输入建议的input组件,能够实现提示框和单选,但并不能方便地实现多选(重复选择会覆盖输入框…
组件中箭头函数的使用 不要使用箭头来定义任意生命周期钩子函数: 不要使用箭头来定义一个 methods 函数: 不要使用箭头来定义 computed 里的函数: 不要使用箭头定义 watch 里的函数: 不要对 data 属性/函数 使用箭头: 上面的函数中使用箭头,会导致 this 捕获不到 Vue 实例.各位道友切记切记... 路由的懒加载 目前通常使用的方式是: { path: '/login', component: () => import('@/views/login/index')…