一些前端问题汇总


以下内容是作者之前遇到的一些问题,开个帖子记录一下

1.scoped的实现原理

当style标签里添加了scoped后,html就会给当前的dom节点新增data-v-随机数格式的自定义属性(标识),css根据属性选择器添加样式,从而让样式在本组件生效,不影响其他组件

2.不使用vuex及pinia等工具怎么管理数据

创建一个vue实例,在这个vue实例中储存数据(具体操作还没试过)

3.echarts初始化在生命周期的哪一个函数里

答案是mounted(此处涉及到vue生命周期函数)

生命周期函数总结

  • 实例创建之前beforeCreate
    数据的观测与事件的初始化 属性的创建 还没有进行

  • 实例创建之后created
    在此时vue实例已经创建完毕 所以 数据的观测 属性 方法等内容都已经创建完毕(el属性还没有挂载)

  • 模板渲染之前beforeMount
    在页面挂载前调用,在此阶段 页面还没有进行渲染与模板的编译 程序在此时会把数据绑定到页面上 但是页面并没有显示

  • 模板渲染之后mounted
    页面已经渲染出来了 html的内容会在dom中进行加载展示

  • 数据更新之前beforeUpdate
    在此时数据会不停的在dom中进行修改

  • 数据更新之后updated
    把修改之后的dom内容已经在页面成功的展示了

  • 实例销毁之前beforeDestory
    此时vue实例还能用

  • 实例销毁之后destoryed
    vue实例等内容都没了

vue2生命周期vue3生命周期
beforeCreatebeforeCreate
createdcreated
beforeMountbeforeMount
mountedmounted
beforeUpdatebeforeUpdate
updatedupdated
beforeDestorybeforeUnmount
destoryedunmounted

4.json转化为数组对象

//需要转换的对象
var obj = {
  'a':'1',
  'b':'2',
  'c':'3',
  'd':'4'
};
//声明一个空数组
var arr = [];
for(var key in obj){
  arr.push({
    key:key,
    value:obj[k]
  })
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值