在 vue 中用 document 获取 dom 节点进行节点样式更改的时候有可能会出现 'style' is not definde的错误,
这时候可以在 mounted 里用 $refs 来获取样式,并进行更改:
<template>
<div style="display: block;" ref="abc">
<!-- -->
</div>
</template>
<script>
export default {
mounted () {
consolelog(this$refsabcstylecssText)
}
}
</script>
结果是 display: block;
如果我们给一个div设定全屏背景图,就需要获取屏幕高度进行赋值:
<template>
<div ref="nana">
<!-- -->
</div>
</template>
<script>export default {
mounted () {
let w = windowinnerWidth || documentdocumentElementclientWidth || documentbodyclientWidth;
let h = windowinnerHeight || documentdocumentElementclientHeight || documentbodyclientHeight;
this$refsnanastyleheight = h +'px';
}
}
1 现在mainjs中注册全局方法,比如要监听的本地储存key值为‘changeData’
VueprototyperesetSetItem = function (key, newVal) {
if (key === 'changData') {
// 创建一个StorageEvent事件
var newStorageEvent = documentcreateEvent('StorageEvent');
const storage = {
setItem: function (k, val) {
sessionStoragesetItem(k, val);
// 初始化创建的事件
newStorageEventinitStorageEvent('setItem', false, false, k, null, val, null, null);
// 派发对象
windowdispatchEvent(newStorageEvent)
}
}
return storagesetItem(key, newVal);
}
}
2 如何触发
在一个路由(比如路由A)存储值得时候,使用下面的方法:
thisresetSetItem('changeData',thisvalue);
3、如何监听
如果在另外一个路由(比如路由B)中,我们想根据changeData的变化来请求接口刷新页面数据的时候,可以在这个路由中created钩子函数中监听
windowaddEventListener('setItem', ()=> {
thisnewVal = sessionStoragegetItem('changeData');
})
以上就是关于如何使用js 让iframe 获得焦点 使用document.getElementById("id").focus(); 好像不管用全部的内容,包括:如何使用js 让iframe 获得焦点 使用document.getElementById("id").focus(); 好像不管用、Vue常见API、vue项目监听安卓手机物理返回键等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)