登录的检测方式1、组件内的检测检测登录第一种方式,最垃圾,是从组件内部的created方法进行检测,每个需要登录的组件都需要写一遍,很烦created() {
const openid = localStorage.getItem("openid");
if (!openid) {
this.$router.push("/login");
}
},2、使用组件的继承使用组件的继承,从父组件实现检测登录,当前组件继承父组件,将会自动调用登录检测父组件:IsLogin.vue<script>
export default {
da ...
[TOC]解构数组解构// 赋值
let [a, b, c] = [1, 2, 3];
// 还可以解构基于Iterator的数据结构
let [x, y, z] = new Set(['a', 'b', 'c']);
// 默认值 x='a', y='b
let [x, y = 'b'] = ['a', undefined]; 对象解构// 变量必须与属性同名,才能取到正确的值
let { bar, foo } = { foo: 'aaa', bar: 'bbb' };
const { log } = console;
log('hello') // hello字符串解构co ...
JS特殊语法[TOC]event.preventDefault()方法// $0.onclick = (e)=>{e.preventDefault();alert(1);}
// html A tag id : #aaa
var a = document.getElementById('aaa');
// 这里的参数e代表当前所触发的鼠标事件内的,鼠标信息,比如说当前鼠标所在屏幕、页面位置、点击的左键还是右键等等
a.onclick = function(e){
// 取消一些DOM元素的默认事件,比如说A标签的链接跳转功能
e.preventDe ...
购物车的数据:[]localstorage用来持久化数据存数据 组件去存,就是把当前页面的data、state保存到localstorage取数据 在actions里面取数据加、减: 加: 从actions传递过来一个购物车数据,然后传递到mutations,在mutation里面去判断有没有这个购物车数据,如果有的话,就+1,如果没有的话,push到state保存购物车的数组里。 减: 从actions传递过来一个购物车数据,然后传递到mutations,在mutation里面去判断有没有这个购物车数据,如果有的话呢,就 ...
微信官方给的SDK叫simple.zip,其中文件jssdk.php 52行$url = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?type=jsapi&access_token=$accessToken";我们需要把这个链接中的jsapi修改为wx_card才可以使用微信小程序添加卡券进来。注意在获取ACCESS_TOKEN的时候,要使用微信公众号的APPID和APP_SERCRT,不要使用小程序的来获取卡券,不然会出现错误。参考链接:https://mp.weixin.qq.com/wiki? ...
区别:substr第2参数是从第1参数后第几位,也就是Length如:s='abcdefg';
s.substr(0,3)
// "abc"
s.substr(2,3)
// "cde"substring第2参数是实际字符串的第几位,但是!substring也是以两个参数中较小一个作为起始位置,较大的参数作为结束位置。如:s.substring(2,3)
// "c"
s.substring(2,5)
// "cde"
// 注意:有坑
s.substring(5,2)
// "cd ...
http://tools.jb51.net/static/api/css3path/index.htmlhttp://betravis.github.io/shape-tools/polygon-drawing/http://github.com/betravis/shape-tools
记住旋转是transform: rotate(-41deg);拉伸是transform: skewX(-26deg);可别搞错了,另外background-image: linear-gradient(to right,#fff 3px, #d3d5e6 1px);
background-size: 4px 100%;这样的组合可以实现纹理线条
- 1
- 2
- 后一页 »