前言1、近期项目开发中接触到微信小程序,其中有部分业务需要用到数据本地存储,而微信的官方文档中并没用提供直接更新Storage的API。2、通过wx.setStorage(Object object)可以达到覆盖原有数据达到更新的目的,但是在只修改某个对象中某个属性的值中使用这个API总感觉有点蹩脚。3、下面笔者简单封装了一个方法用来修改Storage,若是有人知道更好的方法或者我的写法有问题还望不吝赐教。问题描述小程序首次登录时需要输入账号密码,...
最近看到有些人说vue是双向数据绑定的,有些人说vue是单向数据流的,我认为这两种说法都是错误的,vue是一款具有响应式更新机制的框架,既可以实现单向数据流也可以实现数据的双向绑定。 2 单向数据流与数据双向绑定 单向数据流是指model中的数据发生改变时引起view的改变。双向数据绑定是指model中的数据发生改变时view的改变,view的改变也会引起model的改变。//这个是单向数据流,改变这个input的value值并不能是data中的text属...
webpack常用配置webpack dev server 功能:自动打包文件配置dev server:在webpack.config.client.js中配置 const path = require(path);const HTMlPlugin = require(html-webpack-plugin);// 判断是否是开发环境const isDev = process.env.NODE_ENV === developmentconst config = {entry: {app: path.join(__dirname,../client/app.js)},output: {filename: [name].[hash].js,path: path.join(__dirname,../dist),publicPath: /p...
公司的小程序项目上线, 后期还会有小型的版本迭代. 为了让用户能在我们进行版本迭代后及时使用最新版本的功能. 做了以下优化..知识点1: 当用户点击左上角关闭,或者按了设备Home 键离开微信,小程序并没有直接销毁,而是进入了后台; 当再次进入微信或再次打开小程序,又会从后台进入前台,只有当小程序进入后台一定时间,或者系统资源占用过高,才会被真正的销毁。知识点2: 小程序的启动分为"冷启动" 和 "热启动".热启动是指: 小程...
在进行父子组件传值时,用到子组件直接控制父组件中的变量值以及在vue中直接更改对象或者数组的值,视图未发生变化的解决办法,当时完成项目时,一直未找到原因,修改了好久。1.父子组件传值双向绑定在传递给子组件中的变量上使用.sync修饰符,就能够实现父子传值的双向绑定<!-- 父组件 --> <template><div class="audioCate"><child :show.sync="showModel" @closeModel="handleCloseModel"></child></div> </template> <script>i...
如图,当小程序发布新的版本后,用户如果之前访问过该小程序,通过已打开的小程序进入(未手动删除),则会弹出这个提示,提醒用户更新新的版本。用户点击确定就可以自动重启更新,点击取消则关闭弹窗,不再更新。官方给的示例代码: const updateManager = wx.getUpdateManager()updateManager.onCheckForUpdate(function (res) {// 请求完新版本信息的回调console.log(res.hasUpdate) })updateManager.onUpdateReady(function ()...
当我们需要对vue里面data数据做动态更新。 如下,实例化了Vue对象,其下vueData为data属性指向,现在我们需要由后台装载完整的data对象现在我们需要装载更新完整的data对象,常规的赋值方式并不会引起视图的更新,双向绑定会失效。 如上图中默认broker_list为空对象,装载完之后broker_list 包含新项(ZY98)解决办法:$.each(clientData, function (k, v) {Vue.set(vueData,k,Object.assign({}, v));});clientData 为外部初始化的...
我们可能经常会在处理vue项目的时候,遇到数据变化,但是视图并没有实时渲染的情况 vue视图为什么不渲染页面的原因当你把一个普通的 JavaScript 对象传给 Vue 实例的 data 选项,Vue 将遍历此对象所有的属性,并使用 Object.defineProperty 把这些属性全部转为 getter/setter。Object.defineProperty 是 ES5 中一个无法 shim 的特性,这也就是为什么 Vue 不支持 IE8 以及更低版本浏览器划重点!!!!这些 getter/setter 对用户来说...
前台页面要求图片的查看,是在表格中点击查看才弹出图片,网上发现用Viewer插件的挺多,就选用的这款插件,但是Viewer插件会产生缩略图,这里取巧了,将缩略图统一替换成了一个带有查看两字的小图片,这样就解决了表格中方缩略图空间不足的问题。 Viewer.js 是一款强大的图片查看器 Viewer.js 特点:支持移动设备触摸事件 支持响应式 支持放大/缩小 支持旋转(类似微博的图片旋转) 支持水平/垂直翻转 支持图片移动 支持键盘 支持全...
Vue.js 从诞生至今已经 5 年,尤大在今年 2 月份发布了重大更新,即Vue 2.6。更新包括新增 scoped slot 语法、性能提升、动态指令参数等等。其中我们最关注的是错误处理。 异步错误处理 Vue 的内置错误处理机制(组件内 errorCaptured hook 和全局 errorHandler hook)现在也会捕获 v-on 处理程序内部的错误。此外,如果任意一个生命周期 hook 或事件处理程序执行了异步操作,现在可以从函数中返回一个 Promise,Promise 链中任何一...
这篇文章主要解决以下问题:用户每次登录小程序(包括第一次使用)及点击小程序的每个页面的时候,我们如何判断他当前的登录状态是否过期?如果过期,如何重新获取用户信息并发送至开发者服务器更新用户信息,以及设置新的用户登录状态? 将这个部分单独作为一篇文章有两个原因: ① wx.getUserInfo(OBJECT) 接口调整,废弃了以前直接获取用户信息的方法; ② 上篇文章授权、登录、session_key、unionId 只梳理了登录流程而没有贴实...
今天写项目的时候遇到了歌手排序的问题,联想到了我们平时的手机通讯录侧栏字母排序,按照ABCDE这样的顺序对名字进行排序。 我们先来看看效果那就用vue来实现一遍 首先新建一个vue页面,取名为helloworld.vue 在页面里写入内容 <template><div class="hello"><div class="singer" id="singer"><div class="singer-top-tag">{{singerTopTag | filterSingerTag}}</div><ul class="singer-ul"><li v-for="(item, index) in list" :key...
前阵子将项目搬上Vue的时候偶遇一个突发问题 当对象添加或删除成员时页面无法实时更新渲染,但是数组是正常的 目测是ob没有监听到对象的成员有变化 查看一些大家的求助回答是说ob监听的是数组length的变动 对象默认没有length 新增成员时不会自增length 所以监听不到对象的变化 最近大脑过于疲惫 懒得看文档了。。。 不多废话 解决方式直接上代码 在实例内部可以用$set和$delete this.$set(this.age,age,18); this.$delete(this.ag...
Element提供的Tree树形控件,可以用清晰的层级结构展示信息,还可以展开或折叠。Tree支持两种加载模式:一次性加载全部树节点和懒加载模式。所谓懒加载模式,是指当需要展开父节点时才渲染子节点。懒加载模式的应用场景适合树节点数据量大的情形,在一定程度上可以优化图形用户界面的响应效率以及提升用户体验。但是,懒加载模式对数据动态刷新应用需求的支持不尽如意。树形控件节点一旦展开就缓存在本地,后续不会再继续更新和刷新...
在 2.6.0 中,我们为具名插槽和作用域插槽引入了一个新的统一的语法 (即 v-slot 指令)。它取代了 slot 和 slot-scope 这两个目前已被废弃但未被移除且仍在文档中的特性。新语法的由来可查阅 RFC。引vue官方文档之前做项目时,对插槽理解太少了,这两天学习时,才发现插槽更新用v-slot了,自己做了些简单总结,与大家分享一下~ 插槽我的理解就是父页面在组件标签内插入任意内容,子组件内插糟slot控制摆放位置(匿名插槽,具名插槽) 插槽分类...