web前端|js教程
vue,页面title,动态,动态修改页面title,vue,spa
web前端-js教程最近基于VUE做个SPA手机端web发现动态修改页面标题通过document.title=xxxx
来修改着实蛋疼,而且在IOS的微信端据说没效果。百度发现要针对IOS的微信做点额外的操作,即:创建一个隐藏的Iframe,然后随便加载一个图片文件,然后加载完成移除,这样就能修改页面title了。网上有几种方案:
win8 风格 导航 源码,vscode one,ubuntu安装没有分区,tomcat tls,sqlite 获得行数,windows 服务器维护与管理,dz楼中楼插件,流程前端框架,爬虫windows,京东php招聘,98seo,网站站长赚钱,网页点击特效源码,阿里云网站模板送域名,二级页面不弹,用java编写宾馆客房管理系统,系统气泡提示网页内容的程序lzw
1,App.Vue里面设置title属性,然后页面title去绑定,所有子组件修改标题就通过this.$root.data.title=xxxxx
;去修改
易语言登陆qq源码,vscode用于测试,ubuntu双屏显示怎么设置,tomcat日志割切,sqlite没有lib库,WP flash 插件过期,前端从哪里上手框架,移动端数据爬虫,验证码 生成 php,武汉seo外包服务,商城网站,div css静态网页模板,电子商务网站建设模板代码,微赞充值页面设置充值数据,工资管理系统源文件,网站搜索程序代码lzw
缺点:App.Vue默认的el只是body的一个p,这样干需要绑定整个html
框架源码,怎么卸载ubuntu烯烃,tomcat怎样开2个,猫身上 爬虫,查看电脑php版本,信息流优化师真实感受seo教程lzw
2,通过自定义指令实现
Vue.directive( itle, { inserted: function (el, binding) { document.title = el.innerText el.remove() }})
调用方法:
标题内容
优点:这样自定义程度较大(暂且不讨论IOS微信端是否能修改成功)
缺点:无法满足某些JS方法中修改页面标题的需求,例如页面为一个websocket的页面,收到消息要动态显示页面标题这时候频繁去修改p绑定的text并不恰当
针对网上查到的上面两种方法,我进行了合并,利用vue的插件实现SPA的页面标题修改:
var plugin={};plugin.install=function(Vue,options){ Vue.prototype.$title=function(title){ document.title=title; var iframe=document.createElement("iframe"); iframe.style.display= one; iframe.setAttribute(src,/e.jpg); var loadedCallback=()=>{ iframe.removeEventListener(load,loadedCallback); document.body.removeChild(iframe); }; iframe.addEventListener(load,loadedCallback); document.body.appendChild(iframe); };};module.exports=plugin;
调用方法:this.$title(xxxxxx);
当然你可以替换为一个绑定的变量,然后watch进行实时调整。
ps:Vue Spa切换页面时更改标题
在Vue组件化开发过程中,因为是单页面开发,但是有时候需要页面的title根据情况改变,于是上网查了一下,各种说法花(wo)里(kan)胡(bu)哨(dong), 于是想到一个黑科技 documet.title=”xxx”;
随便创建一个项目,在独立的模块中,created在钩子函数启动之后document.title=’标题’; 但是据说在IOS的微信下是无效的,虽然用苹果机测试过有用,但是想到这样会影响我的代码洁癖。
export default { data(){ return{ } }, created(){ document.title="首页" },}
于是在github上找到一个好用的东西 vue-wechat-title
通过npm install vue-wechat-title
安装
引入需要的vue-router与页面需要的组件之后
const router = new VueRouter({ mode: history, routes:[ { name: index, path: /, meta: { title: 首页},component: index }, {name: oot,path: /root,meta: { title: 肉特 }, component: root } ]});Vue.use(require(vue-wechat-title)); //实例化参数
在组件中顶部添加一段
上面是我整理给大家的,希望今后会对大家有帮助。
相关文章:
在wordpress中如何使用ajax
在vue中如何实现父组件向子组件传递数据
在js中如何实现移动端手指滑动轮播图