整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

vue单页缓存存在的问题及解决方案

vue单页缓存存在的问题及解决方案

.css同名覆盖,解决方法:父组件加上scoped

<style lang="scss" scoped>
 @import './unbind.scss'
</style>

子组件同名样式加上deep

/deep/ .tabs-row {
 .items-wrp{
 padding-left: .34rem;
 }
 .item {
 margin:0 .12rem .16rem 0;
 }
}

2.事件全局绑定

绑在window或document或body上的事件,切换到下一个页面同样会被触发,需要销毁,也防止内存泄漏,全局绑定的事件如果是公用组件慎用off().on(),因为可能引用的其他的组件全局绑定的事件被移除

destroyed:返回的时候会触发,防止返回到上一页时window上scroll被触发,官网上是推荐在beforeDestroy做事件移除或者新增DOM或移动DOM操作

deactivated:前进到新页面时会触发,防止进入下一页时window上scroll被触发

activated:被缓存的页面激活,即返回时被触发,created此时不会被触发,重新绑定事件

activated () {
 // 不直接绑定scroll,此处有限制
 this.bindEvent()
},
destroyed () {
 $(window).off('scroll', this.handleScrollFn)
},
deactivated () {
 $(window).off('scroll', this.handleScrollFn)
},
//前端全栈学习交流圈:866109386
//面向1-3经验年前端开发人员
//帮助突破技术瓶颈,提升思维能力

3.音频续播

当音频在还在播放时,跳转到新的页面,此时音频仍在播放,解决方法:前进到新页面会触发deactivated钩子,此时暂停音频播放

deactivated () {
 // 前进时暂停音频播放
 this.pauseAudio()
 },
methods: {
 pauseAudio () {
 this.$refs.audioPlayer && this.$refs.audioPlayer.togglePlay()
 }
}

当音频在还在播放时,返回上一页,此时音频仍在播放,解决方法:返回会触发destroyed钩子里边关闭音频播放器

destroyed () {
 this.closeMini() //关闭音频播放器
 },
methods: {
 closeMini () {
 this.mode=-1
 this.play=false
 if (this.player) {
 this.player.pause()
 }
 this.$emit('callback', 'close')
 },
}

4.微信分享数据未更新

当返回上一页时,分享的数据没有更新,需要在激活的钩子里再次读取之前存的分享数据

activated () {
 // 单页缓存分享数据重置
 this.setShare(this.shareCache)
 window.addEventListener('scroll', this.finishReading)
 },
 methods: {
 setShare (opt) {
 if (!opt) return
 baike.setShare && baike.setShare(opt)
 //存该页的分享数据
 this.shareCache=opt 
 },
}
//前端全栈学习交流圈:866109386
//面向1-3经验年前端开发人员
//帮助突破技术瓶颈,提升思维能力

5.router.afterEach里上报pv时url未更新

在导航守卫afterEach里边上报,但是被触发时url还未更新,导致上报的参数有误,解决方法:通过to,from得到下一页,上一页的地址

var referrer=!from.name ? document.referrer : 
 `${location.origin}${from.fullPath}` // 通过from.name判断刷新
 
 var curUrl=`${location.origin}${to.fullPath}` || ''

6.hash改变时并不会触发router的守卫

代码中通过hash改变,监听hashchange来处理之后的逻辑,但是就不会触发router的导航守卫,也就是没有跳转,就不存在单页缓存

window.location.hash='#refer'

解决办法:用replace替换url,相应的原来hashchange就不会监听到,需要把这块逻辑拿到created里边执行

this.$router.replace({path: `${location.pathname}${location.search}#refer`}

7.分享问题修复

单页缓存导致返回时分享的链接和自定义文案没有更新,针对特别处理的分享数据,在业务页面修改,解决方法

activated () {
 this.setShare(this.shareCache)
 },
 
 methods: {
 setShare (opt) {
 if (!opt) return
// xx.setShare封装的分享的底层方法
 xx.setShare && xx.setShare(opt)
 this.shareCache=opt
 }
}
//前端全栈学习交流圈:866109386
//面向1-3经验年前端开发人员
//帮助突破技术瓶颈,提升思维能力

针对普通分享页面,在router.afterEach里加

router.afterEach((to, from)=> {
 Vue.nextTick(()=> {
 if (to.meta.notNeedShare) { //不需要分享的页面在路由配置文件里增加{meta: {notNeedShare:true}} 
    if (window.WeixinJSBridge) {
       window.WeixinJSBridge.call('hideOptionMenu') 
      } 
    else { 
      document.addEventListener('WeixinJSBridgeReady', ()=> { window.WeixinJSBridge.call('hideOptionMenu') })
       }
    }
   else { 
    // 非分享自定义数据的页面处理 
     xx.setShare({ link: `${location.origin}${to.fullPath}` })
 }
 })
})

8.关注,收藏等toast提示在返回时未消失,因为延迟时间设置,解决方法:在路由钩子里边强制隐藏

router.afterEach((to, from)=> {
 // 切换路由,有toast提示立刻隐藏
 xx.toast.hide()
})

对前端全栈工程师感兴趣的同学关注我的头条号,并在后台私信发送关键字:“前端”即可获取免费的前端全栈工程师学习资料

知识体系已整理好,欢迎免费领取。还有面试视频分享可以免费获取。关注我,可以获得没有的架构经验哦!!

着人们生活水平的提高,各种户外运动,晨练,徒步环湖运动。在参加这些运动中地人们一边运动一边始终有随身音乐伴随,这已成为常态。便携地运动蓝牙耳机在这几年做得再好,都未曾解决佩戴时间长了,耳朵还是不舒服的难题,这也成为便携地运动蓝牙耳机永远的痛。

智能手机这几年,做得非常的成熟。户外吵杂的环境下通话声依旧听起来吃力。

平板给商务人士带来便利的同时,小音量却是平板的通病。

itop BS-01蓝牙音箱就可以解决以上难题。

itop BS-01蓝牙音箱白色包装盒,全英文,产品给人一种国际范的感觉。根据外包装盒来判断该产品的品质肯定不错。



itop BS-01蓝牙音箱配件清单:蓝牙音箱 USB充电线 音频线 说明书 包装盒



itop BS-01蓝牙音箱赠送的贴心升级配件清单:升级音频线 升级充电线 收纳盒



收纳盒可以有效的保护itop BS-01蓝牙音箱不受到损伤,而且方便携带。USB充电线和音频线也可以轻松放到收纳盒里方便使用。



标配的USB充电线和音频线质量一般般,线的长度偏短。



升级音频线和升级充电线比标配的线不知要好多少倍,线的长度合适,使用效果佳。



itop BS-01蓝牙音箱的尺寸:宽74 X长74 X高34mm。手掌般大小,正好能装进口袋,方便携带使用。



● 做工

外壳圈壁厚1.5mm,由整块铝材经过大型机床一体成型。采用阳极氧化铝,金属拉丝工艺,与苹果设备同材质。重量虽然为260g,但放在手上明显感觉有点重。开机声和提示音均为英语(女声),关机声与淘宝叮咚提示音相同。



● 有线连接

支持最大32GB TF卡,即插即播,断点续播。

支持有线连接,使用3.5mm音频线,与智能手机、平板、笔记本便携设备即插即连。

● 无线蓝牙传输

采用英国CSR专业蓝牙芯片,抗干扰性能强,无论室内外都可实现高速率稳定无线数据传输,有效传输距离为10mm.

● 音效

音箱支持双向语音通话。采用HANDS-FREE PROFILE技术,内置高清晰降噪麦克风。户外噪声值60至80分贝地嘈杂环境下,测试了一下语音通话,通话语音清脆,效果不错,可与室内安静的环境相差不了多少。轻轻松松地语音通话,感到非常满意。

● 音源传输

完美支持的音乐格式:APE、FLAC、WAV、WMA、MP3,无损音源播放。笔者专门测试了一下主流音乐格式MP3无损音源播放。

itop BS-01蓝牙音箱 播放少女时代——Gee音效效果—在线播放—优酷网,视频高清在线观看

http://v.youku.com/v_show/id_XMTcxMTI1OTkzMg==.html

立体环绕声

涡轮增压独立腔体,360度立体环绕声,震撼全场。感觉声音在周围明显。

高音甜

高性能磁王,振膜是进口纯天然纸质振膜,使高频甜美圆润。不是刺耳的高音,感觉有点浑厚的环绕声,层次感非常明显。

中音准

配以新型布制折环,还原美人声。在这方面控制得非常的精准,听不出有什么不妥之处。

低音沉

低音柔和。放在手上明显感觉超重低音非常沉,往下坠地明显,够劲。表现强劲,做得非常的优秀。



● 超长续航

内置600mAh锂聚合物电池(充电时间1.5-2小时),充满电地情况下连续播放4—6小时以上是没任何问题。

● 点评



itop BS-01蓝牙音箱精选用料,做工精细,非常有质感。在小体积的机身下,音质却超乎想象,音效效果明显,声音穿透力强,音量大而有力。户外使用效果非常好,携带方便。缺点是不能防水,在户外使用需要注意。蓝牙版本还是有点偏低,蓝牙版本为2.1+EDR。

2018年,4K机顶盒被层出不穷的人工智能新品消息所淹没,微创新不足的4K机顶盒行情显得有些疲乏。海美迪针对快速发展的潮流,推出了一款人工智能复合型产品。海美迪小白盒兼具了Q5四代的解码优势以及视听机器人的人工智能,是一款极具创新的复合产品,结合了海美迪旗舰电视盒的优势和高端蓝牙音箱的特色,是智能AI系统+Q5四代+蓝牙音箱的全新形态产品,让消费者重拾对4K机顶盒的关注。通过海美迪小白盒,不光可以看电视,听音乐,问天气,长知识,还可以作为智能家居的入口,可谓是一强有力的破局者。

海美迪小白盒是基于Q5四代而生的新一代人工智能机顶盒,那么今天小编就来实际体验一下,这个外观类似Homepod的小白盒究竟能不能值不值得推荐。

高端4K机顶盒实测

海美迪小白盒既然包含了电视盒子的功能,那么就来与自家的一款电视盒子Q5四代简单做个对比,毕竟两款产品都是采用的海思3798芯片,价格上就相差百元左右。从下图可以看到,相比于Q5四代,海美迪小白盒视听机器人影音版多了蓝牙和扬声器,遥控器也换作了蓝牙遥控器,还支持语音交互功能,内置资源更换为了腾讯视频,而最重要一点是海美迪小白盒视听机器人影音版支持与智能硬件的联动,可以作为智能家居的一部分。

接口一览

接口方面,从左到右依次是RESET孔,DV12~2A插孔,HDMI2.0a接口和USB3.0接口。对于HDMI2.0a接口和USB3.0接口两个都是主流标配,涉及到4K视频的输出与播放,这个USB3.0接口是外接移动硬盘中动辄20G,30G4K影片流畅播放关键。那么核心的蓝牙和WiFi部分设计如何呢?海美迪小白盒采用的是双频双独立天线,采用的是蓝牙4.2协议,可以用来连接5GHz实现在线视频的流畅播放以及与其他蓝牙设备的正常连接。

远场语音在线点播


在线播放方面,因为搭载腾讯云小微的语音平台,这款小白盒能够远场语音点播内置的腾讯视频的影视节目。小编坐在自家沙发上靠嘴点播,基本上发出的语音指令都能识别到。“你好小微,我想看电影”、“放黄渤的电影”、“我想看一出好戏”、“暂停”、“快进十分钟”、“上一集”、“退出播放”这些常规的语音指令识别速度几乎是秒应,当然前提是家里的网速是正常的。

下面通过一个简短的视频来体验下海美迪小白盒AI机顶盒模式有哪些表现:

视频原地址:http://v.youku.com/v_show/id_XMzkyNzg5MTM0MA==.html

本地播放软件实测

本地播放方面,海美迪小白盒在软硬件上继承了前辈们的播放优势。软件上内置了高清影院系统赋予强大的本地影片管理能力(海报墙影片管理),硬件搭载高画质解码HI3798海思定制芯片带来解码和画质双提升的优势。

高清影院系统只要联网即可将USB移动存储、局域网共享(包括NFS和SAMBER两种协议)影音文件实现自动海报墙、豆瓣评分、呼出影片详情、一键轻松续播等便捷功能,并且支持本地影片库设置首页分类向导,可以对本地影片一键分类、智能搜索,支持“以上映时间排序、以字母顺序排序、以豆瓣评分排序”等多种方式结合选片。

海报墙影片展示的方式改变了以往枯燥的文字列表形式展示影片,生动地展示影片极大改善用户对本地影片的管理,点击进入海报之后还有影片的详细介绍、评分,还能收藏和播放。

发烧友下载的一些原版影片可能没有中文字幕,这就需要外挂字幕,海美迪小白盒支持在线外挂字幕功能,可玩性更高。

实际测试海美迪小白盒能够准确识别和外挂ASS、SRT、SSA、SUB+IDX等不同格式的字幕文件,还能对字幕进行诸如时间、颜色、大小、位置、效果、行间距等参数调节,而对于ASS特效字幕的字体识别相当不错。实际测试字幕调参功能如下表所示:

本地解码实力

解码方面,海美迪小白盒搭载高画质解码HI3798海思定制芯片,内置HIVXE2.0视频解码处理引擎,支持全格式解码,支持4K H.265硬解技术,并且通过了Ultra HD Premium(4K HDR)标准认证,支持超高清蓝光显示标准,这也就意味着能够为影音发烧友带来3840*2160分辨率、10Bit色深、更宽广的色域空间BT.2020、60P高帧率以及HDR高动态显示。下面是安兔兔视频解码的30个视频解码格式支持情况,对于常规的视频格式海美迪小白盒解码出色。

总的来说,海美迪小白盒通过海美迪近一年的努力,在功能上越来越成熟,实际体验下来,相比市面上常见的机顶盒价格上确实高了一点,但俗话说一分钱一分货,在硬件配置和软件优化上都有不俗的表现。此外,广告也非常少,没有开机广告、待机广告、弹窗广告这些。虽然播放视频没有VIP有广告,也能理解吧,毕竟现在都是知识版权的时代,也不能要求硬件厂商还把年费给付了吧?

最后,一句话总结:如果你是一名忠实的影视发烧友,不妨在人工智能时代到来之时为家里添置一台解码强悍同时又兼具人工智能的产品,是影音爱好者入门影院世界的性价比首选。