项目效果图: var vm = new Vue({ el:'#app', data:{ students:[], }, watch:{ students:{ handler(){ localStorage.setItem('student',JSON.stringify(this.students)) }, deep:true, } }, created(){ this.students = JSON.parse(localStorage.getItem('student')) || [] }…
1.实现目标 通过redis缓存数据.(目的不是加快查询的速度,而是减少数据库的负担) 2.所需jar包 注意:jdies和commons-pool两个jar的版本是有对应关系的,注意引入jar包是要配对使用,否则将会报错.因为commons-pooljar的目录根据版本的变化,目录结构会变.前面的版本是org.apache.pool,而后面的版本是org.apache.pool2... style="background-color: #0098dd; color: white; font-s…
package com.fndsoft.bcis.utils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.*; import org.springframework.stereotype.Service; import java.util.*; /** * redis缓存帮助类 * Created by DELL on 2016…
有时候应用中需要监听ContentProvider的改变并提供响应,这时候就要利用ContentObserver类了 不管是ContentProvider中实现的,insert,delete,update方法中的任何一个,程序都会调用getContext().getContentResolver().notifyChange(uri,null); 这行代码可用于通知所有注册在该Uri上的监听者,该ContentProvider所共享的数据发生了改变 监 听ContentProvider数据改变的…
在使用过程中会出现数据改变但是视图没有更新的情况(类型数组或者对象),这里我们就需要用到 $set 如果是对象类型: this.$set(this.userInfo, 'name', 'gionlee'); 其中this.userInfo 为变量名称, 'name' 为对象的key,'gionlee'为name对应的值. 如果是数组类型: this.$set(this.arr, 0, 'gionlee'); 其中this.arr 为数组,0 为 this.arr 对象的下标值,'gionlee'…
路由中: 页面中: 需要缓存的组件中: 因为是keep-alive  所以在初始化页面的时候 会走一次生命周期 当二次进入的时候就已经是缓存状态了 不会在走生命周期 于是它就有了自己的周期函数分别是 1.组件激活时调用--activated    2.组件销毁时调用--deactivated    (这两个钩子在服务器渲染期间不会被调用!!!!!!!!!!!) 以上已经完成了需求 缓存数据和位置 以下是keep-alive的属性一些使用 还可以直接用于组件上 官网中的实例就是用于组件的 具体看例…
legend2---开发日志6(后端和前端如何相互配合(比如php,js,元素状态和数据改变)) 一.总结 一句话总结:php给元素初始状态,js根据这个状态做初始化和后续变化,使用vue真的很方便(php给vue数据就好,其它全交给vue了) vue特别好用 php给数据或者初始状态 js根据这个状态做初始化和后续变化 1.一种可行的控制html元素状态的方式是什么(比如收藏按钮的收藏和未收藏状态)? 元素加状态属性字段 可以在元素上面加一个属性字段,状态改变,这个属性字段也改变,根据这个属性…
分析vue是如何实现数据响应的. 前记 现在回顾一下看数据响应的原因. 之前看了vuex和vue-i18n的源码, 他们都有自己内部的vm, 也就是vue实例. 使用的都是vue的响应式数据特性及$watchapi. 所以决定看一下vue的源码, 了解vue是如何实现响应式数据. 本文叙事方式为树藤摸瓜, 顺着看源码的逻辑走一遍, 查看的vue的版本为2.5.2. 目的 明确调查方向才能直至目标, 先说一下目标行为: vue中的数据改变, 视图层面就能获得到通知并进行渲染. $watchapi监…
thinkphp 中内置了缓存操作 3.1版本的数据缓存方法是cache 基本用法: S(array('type'=>'xcache','expire'=>60)); 缓存初始化 缓存初始化可以支持的参数根据不同的缓存方式有所区别,常用的参数 expire  缓存的有效期 prefix 缓存标识前缀 type 缓存类型 其中 expire prefix type 为标识符 命名遵守标识符的命名规则可以随意替换 ps:如果S方法不传入type参数初始化,可以读取配置文件中设置的DATA_CACH…
解析: 判断滚动条到底部,需要用到DOM的三个属性值,即scrollTop.clientHeight.scrollHeight. scrollTop为滚动条在Y轴上的滚动距离. clientHeight为内容可视区域的高度. scrollHeight为内容可视区域的高度加上溢出(滚动)的距离. 从这个三个属性的介绍就可以看出来,滚动条到底部的条件即为scrollTop + clientHeight == scrollHeight.(兼容不同的浏览器). 代码: 1.vue的实现 html: <d…