Vue进阶(幺捌伍):动态设置系统字体_微信字体动态设置大小vue怎么监听

	}
}

},
// 重置系统主题色
resetSysColor () {
sessionStorage.removeItem(‘theme_color’)
this.changeSysConfig()
location.reload()
},
// 重置系统字体
resetSysFont () {
sessionStorage.removeItem(‘theme_font’)
this.sysFontSize = appConfig.themeFontSize
this.changeSysConfig(appConfig.themeFontSize)
},
// 更新系统主题色
changeSysConfig (val) {
let fontSize = 0
switch (val) {
case 1:
fontSize = ‘12’
break
case 2:
fontSize = ‘14’
break
case 3:
fontSize = ‘16’
break
}
document.querySelector(‘html’).style.fontSize = fontSize + ‘px’
let data = {
syscolor: curColor,
sysfont: fontSize
}
// 每次开关状态更改,保存开关状态
updateSysConfig(JSON.stringify(data)).then((response) => {
changeThemeColor(curColor)
sessionStorage.setItem(‘theme_font’, fontSize)
})
}


### 三、涉及知识点


* 动态设置`html`根字体大小



document.querySelector(‘html’).style.fontSize = fontSize + ‘px’


* 若适配不同屏幕(随着设备屏幕的大小而变化,从而实现响应式),建议采用以下逻辑:



var html =document.querySelector(‘html’);
html.style.fontSize = document.documentElement.clientWidth/10+‘px’;


* 如果设置了根字体大小,`font-size`单位必须是`rem`。
* 浏览器窗口更改后,监听屏幕尺寸变化逻辑如下:



window.onresize = () => {
let fontSize = window.innerWidth / 10
fontSize = fontSize > 50 ? 50 : fontSize
const html = document.querySelector(‘html’)
html.style.fontSize = fontSize + ‘px’
}


* **`CSS` 属性 选择器;**
* **`calc()` 函数用于动态计算长度值;**


### 四、注意事项


若存在父子组件引用,且子组件中异步获取后台返回值,并通过`state`方式存储,在父组件中应通过`watch`实现获取存储在`state`中的数据。在钩子函数`mounted()`中是无法获取的,因为涉及到父子组件生命周期,父组件`mounted`之前,子组件尚未完成渲染,未获取后台返回值。


加载渲染过程如下:



> 
> 父beforeCreate–> 父created–>父beforeMount–>子 beforeCreate–> 子 created–>子  
>  beforeMount–>子 mounted–>父mounted
> 
> 
> 


### 五、拓展阅读


* 《[Vue进阶(幺零六):子组件处理父组件异步值传递给子组件处理](https://bbs.csdn.net/topics/618166371)》
* 《[Vue进阶(幺柒零):前端用户体验提升(四)应用rem/em实现字体自适应](https://bbs.csdn.net/topics/618166371)》
* 《[Vue进阶(幺陆捌):前端用户体验提升(三)应用vw/vh实现自定义布局](https://bbs.csdn.net/topics/618166371)》








### 总结

为了帮助大家更好温习重点知识、更高效的准备面试,特别整理了《前端工程师面试手册》电子稿文件。

内容包括html,css,JavaScript,ES6,计算机网络,浏览器,工程化,模块化,Node.js,框架,数据结构,性能优化,项目等等。



包含了腾讯、字节跳动、小米、阿里、滴滴、美团、58、拼多多、360、新浪、搜狐等一线互联网公司面试被问到的题目,涵盖了初中级前端技术点。

![](https://img-blog.csdnimg.cn/img_convert/d74f8b42f4a63c76b18efc6a818147df.png)

![](https://img-blog.csdnimg.cn/img_convert/6deb905d9655a3f0f54b8920686e1970.png)

**前端面试题汇总**

![](https://img-blog.csdnimg.cn/img_convert/42728594459506983a38ca2b86545fc6.png)

**[开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】](https://bbs.csdn.net/topics/618166371)**

**JavaScript**

![](https://img-blog.csdnimg.cn/img_convert/7796de226b373d068d8f5bef31e668ce.png)

**性能**

![](https://img-blog.csdnimg.cn/img_convert/d7f6750332c78eb27cc606540cdce3b4.png)



**linux**

![](https://img-blog.csdnimg.cn/img_convert/ed368cc25284edda453a4c6cb49916ef.png)
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!'net::ERR_FILE_NOT_FOUND' 错误通常表示在Vue应用中无法找到指定的图片文件。这可能是由于以下原因之一引起的: 1. 图片路径错误:请确保您在Vue组件中正确指定了图片的路径。路径应该是相对于您的Vue项目的根目录或者相对于当前Vue组件文件的路径。如果图片位于不同的文件夹下,您需要相应地调整路径。 2. 图片文件不存在:请检查您指定的图片文件是否存在于指定的路径中。确保文件名和扩展名正确,并且文件确实存在于该位置。 3. 静态资源配置错误:在Vue项目中,您可以使用Vue的静态资源处理功能来加载图片。请确保您已经正确配置了静态资源加载。通常,您需要在vue.config.js或者webpack配置中指定静态资源文件夹的路径。 以下是一个示例代码片段,演示了如何在Vue组件中正确加载图片: ```vue <template> <div> <img :src="getImagePath(imageName)" alt="My Image"> </div> </template> <script> export default { data() { return { imageName: 'my-image.jpg' // 图片文件名 } }, methods: { getImagePath(imageName) { // 返回图片的完整路径 return require('@/assets/images/' + imageName); } } } </script> <style> /* 样式表 */ </style> ``` 在这个示例中,我们使用了动态绑定(:src)来设置图片的路径。在方法`getImagePath`中,我们使用了require函数来获取图片的完整路径。请确保您将图片文件放置在正确的文件夹中,并根据需要调整路径。 希望这个回答对您有所帮助!如有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值