项目中有类似需求:列表进详情,详情再返回列表,列表保持之前的状态,而其他页面进列表则重新渲染。
结合项目实际情况,最终实现方法:结合beforeRouteEnter和beforeRouteLeave钩子然后用keep-alive做缓存。
有关keep-alive的作用及使用方法本文将不再赘述(详见官方文档)
栗子如下,父组件:
<template>
<div id="app">
<keep-alive :include="cachedPages">
<router-view />
<...
本文所说的log4js实际上是指log4js-node,它是log4js到node.js的移植。
安装:npm i log4js -S,基本配置与使用方法可见其官方网站与文档。
顾名思义,其输出级别level为:trace < debug < info < warn < error < fatal,当设置为info时,会输出info及其之后的级别日志;当设置为trace或all时,所有级别都将输出。
注意:categories中至少要把default给配置上,否则无法使用。
简单应用如下:
const log4...
与android交互
android端将方法挂载到webview上,js直接调用即可,如:android.forWeb(params)
与ios交互
js调用ios提供的方法:window.webkit.messageHandlers.方法名.postMessage(参数)
注意:“参数”允许类型为NSNumber, NSString, NSDate, NSArray, NSDictionary, and NSNull,如果不需要传参,那么“参数”也要写作null,否则有坑。
提供给android或ios的webview...
1、零宽断言
无论是零宽还是断言,听起来都古古怪怪的,那先解释一下这两个词。
断言:俗话的断言就是“我断定什么什么”,而正则中的断言,就是说正则可以指明在指定的内容的前面或后面会出现满足指定规则的内容,
意思正则也可以像人类那样断定什么什么,比如"ss1aa2bb3",正则可以用断言找出aa2前面有bb3,也可以找出aa2后面有ss1.
零宽:就是没有宽度,在正则中,断言只是匹配位置,不占字符,也就是说,匹配结果里是不会返回断言本身。
意思是讲明白了,那他有什么用呢?我们来举个栗子:
假设我们要用爬虫抓取csdn里的文章阅读量。通过查看...
正则表达式在几乎所有语言中都可以使用,无论是前端的JavaScript、还是后端的Java、c#。他们都提供相应的接口/函数支持正则表达式。
但很神奇的是:无论你大学选择哪一门计算机语言,都没有关于正则表达式的课程给你修,在你学会正则之前,你只能看着那些正则大师们,写了一串外星文似的字符串,替代了你用一大篇幅的if else代码来做一些数据校验。
既然喜欢,那就动手学呗,可当你百度出一一堆相关资料时,你发现无一不例外的枯燥至极,难以学习(实话说,当年不理君也是这样的心态)。
下面,不理君尝试用一种比较通俗点的方式讲一下正则,让你能在读完之后,能自己写出一些简单的正则,再不济,...
1、使用iframe
let ifr = document.createElement('iframe');
ifr.src = 'test123://';
ifr.style.display = 'none';
document.body.appendChild(ifr);
this.downloadTimer = setTimeout(()=>{
document.body.removeChild(ifr)
this.clearTimer()
},3000);
2、直接window.location
window.location...
支付宝支付一般是请求接口后收到一组form表单代码,在h5中,可以直接像下面这样直接使用
doPayAlipay(alipayNeedParams).then(resAlipay=>{
if(resAlipay.code==0){
const div = document.createElement('div');
div.innerHTML = resAlipay.data.form;
document.body.appendChild(div);
document.getElementById('...
普通vue项目中
以CNZZ统计为例(CNZZ统计API),先在index.html中的head标签中加入:
<script>
var _czc = _czc || [];
_czc.push(["_setAutoPageview", false]);
(function() {
var cnzz_s_tag = document.createElement('script');
cnzz_s_tag.type = 'text/javascript';
cnzz_s_tag.async = true;
cnzz_s_t...
基于nuxt.js的项目,用户登陆后请求的接口需要加上token,但是客户端存储到本地的token服务端是拿不到的,这时有两种解决方案:一种是判断当为客户端且已登录时主动带上token再请求一次接口(但是这种感觉不太友好,因为多了一次请求);另一种是想办法把token共享给服务端,这个时候session便派上用场了(express-session可能有内存泄漏的风险,因此采用cookie-session)
0、安装依赖
npm i express cookie-session body-parser -S
1、在项目根目录下新建server.js
c...