优雅更新props 更新 prop 在业务中是很常见的需求,但在子组件中不允许直接修改 prop,因为这种做法不符合单向数据流的原则,在开发模式下还会报出警告.因此大多数人会通过 $emit 触发自定义事件,在父组件中接收该事件的传值来更新 prop. child.vue: export defalut { props: { title: String }, methods: { changeTitle(){ this.$emit('change-title', 'hello') } } } p…
(本人想封装一个带有input输入框的组件) 之前使用vue开发组件的时候,在遇到子组件向父组件传递值时我采用的方法是这样的: 比如子组件是一个输入框,父组件调用时需要获取到子组件输入的值,子组件通过watch监听输入框的值然后通过this.$emit给父组件,再在父组件v-on绑定相应方法获取到从子组件传入的值,再将传入的值给对应的data: childInput.vue: <template> <input type="text" v-model="in…
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…
1 状态共享 随着组件的细化,就会遇到多组件状态共享的情况, Vuex当然可以解决这类问题,不过就像 Vuex官方文档所说的,如果应用不够大,为避免代码繁琐冗余,最好不要使用它,今天我们介绍的是 vue.js 2.6 新增加的 Observable API ,通过使用这个 api 我们可以应对一些简单的跨组件数据状态共享的情况. 如下这个例子,我们将在组件外创建一个 store,然后在 App.vue组件里面使用 store.js 提供的 store和 mutation方法,同理其它组件也可以这…
对于一个项目,常用的一些npm简单命令包含的功能有:初始化一个文件夹(npm init),下载npm模块(npm install),创建测试(npm test) 和自定义脚本(npm run).但是,进一步了解一些 npm 的使用技巧可以彻底改变你的日常开发任务. 注: 如果你需要关于初学npm的参考,可以参阅我们的 初学者指南 .如果你对 npm 和 Yarn 之间的差异感到困扰,可以参阅我们发表的文章: Yarn vs npm:你需要知道的一切 1. 获取帮助 npm 文档 和 CLI 命令…
总结10个提高开发效率的JavaScript开发技巧. 1.生成随机的uid. const genUid = () => { var length = 20; var soupLength = genUid.soup_.length; var id = []; for (var i = 0; i < length; i++) { id[i] = genUid.soup_.charAt(Math.random() * soupLength); } return id.join(''); } ge…
近年来,vue越来越火,使用它的人也越来越多.vue基本用法很容易上手,但是还有很多优化的写法你就不一定知道了.本文列举了一些vue常用的开发技巧.require.context() 在实际开发中,绝大部分人都是以组件化的方式进行开发.随之而来就有了许多的组件需要引入.比如以下场景: import outExperInfo from "@/components/userInfo/outExperInfo";import baseUserInfo from "@/compone…
收集的10个 jQuery 小技巧/代码片段,可以帮你快速开发. 1.返回顶部按钮 你可以利用 animate 和 scrollTop 来实现返回顶部的动画,而不需要使用其他插件. $('a.top').click(function () { $(document.body).animate({scrollTop: 0}, 800); return false }); 改变 scrollTop 的值可以调整返回距离顶部的距离,而 animate 的第二个参数是执行返回动作需要的时间(单位:毫秒)…
http://www.cnblogs.com/chu888chu888/archive/2011/11/10/2244181.html 1.Backbone移动实例 这是在Safari中运行的一款Backbone移动应用程序.想开始体验移动开发,一个好的出发点就是关注这个应用程序的构建方式.先不妨在你的浏览器中查看该应用程序. 相关链接:http://bennolan.com/2010/11/24/backbone-jquery-demo.html 2.使用媒体查询来锁定设备 你可能会问如何使用…