首页
壁纸
关于
发现大佬
Search
1
Oculus Quest2 无线投屏到PC
2,128 阅读
2
openwrt路由器安装uu加速器插件
1,221 阅读
3
Xbox Series X / S 开箱~~~~激动无比
1,201 阅读
4
完美决解win10 可以上网却显示无internet的bug
992 阅读
5
xiaomi 小米pad 5 pro adb 删除自带app 系统精简 (非root)
922 阅读
学习
QuantumultX
JavaScript
web3
react
Solidity
雅思
游戏
随笔
登录
/
注册
Search
标签搜索
javascript
XSX
js
游戏
xbox
css
Xbox Series X
刺客信条
刺客信条英灵殿
web3
游戏截图
雅思
学习
IELTS
教程
Xbox Series S
Steam
英语
截图
leetcode
Arthur
累计撰写
100
篇文章
累计收到
83
条评论
首页
栏目
学习
QuantumultX
JavaScript
web3
react
Solidity
雅思
游戏
随笔
页面
壁纸
关于
发现大佬
搜索到
30
篇与
JavaScript
的结果
2021-11-19
vue与ios 安卓 交互 写法
将vue methods方法挂载到全局window对象,给app端或后台使用 vue项目 在vue里,所有的方法都是在组件内部声明的,也只能在组件内部调用,并没有绑定window对象下面,这样一来,vue组件里定义的方法怎么暴露给window对象,提供给外部调用呢?demo1 created() { }, mounted() { /*将backToday方法绑定到window下面,提供给外部调用 后端在使用的时候调取backToday即可 我们前端 写好方法等待后台调用触发window['backToday'](等同于window.backToday)方法*/ window['backToday'] = () => { this.goToday() } }, methods: { goToday() { // to do something } } ### demo2 ``` js created() { }, mounted() { /*将backToday方法绑定到window下面,提供给外部调用 后端在使用的时候调取backToday即可 我们前端 写好方法等待后台调用触发window['backToday'](等同于window.backToday)方法*/ window.backToday = this.backToday }, methods: { goToday() { // to do something } }
2021年11月19日
108 阅读
0 评论
0 点赞
2021-11-19
超级轻量级js下拉刷新 插件
超级轻量级js下拉刷新 插件
2021年11月19日
76 阅读
0 评论
0 点赞
2021-09-16
js将时间转换为几分钟前,几小时前,几天前的方法
例1:js将时间转换为几分钟前,几小时前,几天前的方法 function timeFormat(time) { var nowTime = new Date(); var day = nowTime.getDate(); var hours = parseInt(nowTime.getHours()); var minutes = nowTime.getMinutes(); // 开始分解付入的时间 var timeday = time.substring(8, 10); var timehours = parseInt(time.substring(11, 13)); var timeminutes = time.substring(14, 16); var d_day = Math.abs(day - timeday); var d_hours = hours - timehours; var d_minutes = Math.abs(minutes - timeminutes); if (d_day <= 1) { switch (d_day) { case 0: if (d_hours == 0 && d_minutes > 0) { return d_minutes + '分钟前'; } else if (d_hours == 0 && d_minutes == 0) { return '1分钟前'; } else { return d_hours + '小时前'; } break; case 1: if (d_hours < 0) { return (24 + d_hours) + '小时前'; } else { return d_day + '天前'; } break; } } else if (d_day > 1 && d_day < 10) { return d_day + '天前'; } else { return time; } } 调用方式 console.log(timeFormat("2020-06-23 23:10:02")); //37分钟前 console.log(timeFormat("2020-06-23 22:10:02")); //1小时前 console.log(timeFormat("2020-06-22 22:10:02")); //1天前 console.log(timeFormat("2020-06-21 22:10:02")); //2天前 例2:js将时间转换为几分钟前,几小时前,几天前的方法 例1的 js 演示函数,可以输入日期格式的时间日期,其方法比较复杂一些,那么接下来就来一个简单点的,直接输入时间戳! //这里输入的时间戳 function timeFormat(timestamp) { var mistiming = Math.round((Date.now() - timestamp) / 1000); var arrr = ['年', '个月', '周', '天', '小时', '分钟', '秒']; var arrn = [31536000, 2592000, 604800, 86400, 3600, 60, 1]; for (var i = 0; i < arrn.length; i++) { var inm = Math.floor(mistiming / arrn[i]); if (inm != 0) { return inm + arrr[i] + '前'; } } } 函数调用方法: console.log(timeFormat(1592928599000)); //10秒前 console.log(timeFormat(1592928469000)); //2分钟前 console.log(timeFormat(1592844949000)); //23小时前 console.log(timeFormat(1592064469000)); //1周前 console.log(timeFormat(1581844949000)); //4个月前 console.log(timeFormat(1522444949000)); //2年前
2021年09月16日
78 阅读
0 评论
0 点赞
2021-09-10
微信小程序监听data数据:watch.js(模仿vue)
guihub 创建watch.js /** * 设置监听器 */ export function setWatcher(page) { let data = page.data; let watch = page.watch; Object.keys(watch).forEach(v => { let key = v.split('.'); // 将watch中的属性以'.'切分成数组 let nowData = data; // 将data赋值给nowData for (let i = 0; i < key.length - 1; i++) { // 遍历key数组的元素,除了最后一个! nowData = nowData[key[i]]; // 将nowData指向它的key属性对象 } let lastKey = key[key.length - 1]; // 假设key==='my.name',此时nowData===data['my']===data.my,lastKey==='name' let watchFun = watch[v].handler || watch[v]; // 兼容带handler和不带handler的两种写法 let deep = watch[v].deep; // 若未设置deep,则为undefine observe(nowData, lastKey, watchFun, deep, page); // 监听nowData对象的lastKey }) } /** * 监听属性 并执行监听函数 */ function observe(obj, key, watchFun, deep, page) { var val = obj[key]; // 判断deep是true 且 val不能为空 且 typeof val==='object'(数组内数值变化也需要深度监听) if (deep && val != null && typeof val === 'object') { Object.keys(val).forEach(childKey => { // 遍历val对象下的每一个key observe(val, childKey, watchFun, deep, page); // 递归调用监听函数 }) } let that = this; Object.defineProperty(obj, key, { configurable: true, enumerable: true, set: function(value) { watchFun.call(page, value, val); // value是新值,val是旧值 val = value; if (deep) { // 若是深度监听,重新监听该对象,以便监听其属性。 observe(obj, key, watchFun, deep, page); } }, get: function() { return val; } }) } module.exports = { setWatcher: setWatcher } 引用 克隆到本地后,将watch.js复制到项目的util下,在需要监听的页面按需引入即可 //index.js const watch = require("../../utils/watch.js"); Page({ data:{ flag:true }, onLoad(){ watch.setWatcher(this); // 设置监听器,建议在onLoad下调用 this.setData({flag:false}) }, watch:{ flag:function(newVal,oldVal){ console.log(newVal,oldVal); } } }) * 当然,你也可以全局引入一次,但由于小程序的限制,我们还是不得不在每一个页面调用getApp().setWatcher(this); ```js //app.js const watch = require("./utils/watch.js"); App({ setWatcher(page){ watch.setWatcher(page); } }) //index.js Page({ onLoad() { getApp().setWatcher(this); }, })
2021年09月10日
70 阅读
1 评论
1 点赞
2021-09-10
微信小程序wx.request POST请求,请求参数需要form-data形式
wx.request({ url: 'url', //仅为示例,并非真实的接口地址 data: { x: '', y: '' }, header: { 'content-type': 'application/x-www-form-urlencoded' //修改此处即可 }, success (res) { console.log(res.data) } })
2021年09月10日
115 阅读
0 评论
0 点赞
1
2
3
4
...
6