0
点赞
收藏
分享

微信扫一扫

项目1-加法计算器

zhyuzh3d 03-28 22:30 阅读 2

$refs的优点以及弊端

$refs的弊端是,状态管理比较混乱,不利于维护


异步组件和路由懒加载区别

异步组件:异步组件是一种技术,它允许在页面需要时才从服务器加载相应的组件。这种方式适用于大型应用,可以将应用分割成小一些的代码块,并且只在需要的时候才从服务器加载一个模块,从而提高页面渲染速度

路由懒加载:路由懒加载结合了异步组件技术和webpack代码分割功能,以达到优化项目的目的。它允许只加载当前点击的模块,而不是整个网页。这种方式可以有效地分担首页所承担的加载压力,减少首页加载用时,提高用户体验

总结来说,异步组件和路由懒加载都是为了提高页面加载速度和用户体验,但它们的技术实现和应用场景有所不同。异步组件更侧重于代码分割和模块加载,而路由懒加载则侧重于页面加载的优化和用户体验的提升

组件上使用v-model

父组件


<template>
  <div id="app">
    <HelloWorld v-model="showFlag" v-if="showFlag"></HelloWorld>
    <button @click="showFlag=true">打开组件</button>
  </div>
</template>
 
<script>
import HelloWorld from './components/HelloWorld'
 
export default {
  name: 'App',
  data(){
    return {
       showFlag: false
    }
  },
  components: {
    HelloWorld
  }
}
</script>
 
简单说明一下,这里我们引入了我们的子组件HelloWorld,
 
通过showFlag来控制组件的显示隐藏,
 
当然,组件上还用v-model绑定了showFlag,那么我们就来看看子组件是如何搞的吧。

子组件


<template>
  <div class="hello">
    <h1>这是组件里面的内容</h1>
    <button @click="close">关闭组件</button>
  </div>
</template>
 
<script>
export default {
  name: 'HelloWorld',
  model: {
    prop: 'checked',
    event: 'change'
  },
  props: {
    checked: {
      type: Boolean
    }
  },
  methods: {
    close(){
      this.$emit('change', false)
    }
  }
}
 
 
对于子组件来说,允许自定义使用v-model时定制prop和event,
 
v-model中的prop就是把value用作prop,input用作event,
 
但是为了避免冲突,我们使用model的选项可以回避这些冲突,当然,你也得使用props声明checked这个prop

计算属性和侦听器的区别

1:功能不同,计算属性用于解决模板语法冗余问题。侦听器侦听data中某一个数据变化

2:计算属性有缓存机制,侦听器没有缓存机制

3:计算属性不支持异步操作,侦听器支持异步操作

4:计算属性可以给vue新增属性,侦听器必须是data中已有属性

5:计算属性只要使用了就会立即执行一次,侦听器默认只有当数据第一次执行才会执行

6:侦听器可以通过设置immerdiate为true,也可以像计算属性一样立即执行一次

浏览器存储技术:localStorage、sessionStorage和cookie的区别

localStorage:永久存储
sessionStorage:临时存储

cookie:cookie 中的数据会随着 HTTP 请求一起发送到服务器端

yue2和vue3x区别

双向数据绑定的原理不同,Vue2使用的Object.definProperty()进行数据劫持,而Vue3采用了ES6的Proxy API 这使得对数据监控更加高校和全面

API类型不同。Vue 2 采用选项式API(OPtions API) 而Vue3引入了组合式API(compostion API) 使得代码的组织和逻辑服用更加灵活和可读。

支持碎片不同,vue3支持碎片,允许渲染多个根节点,简化了组件结构的编写。

生命周期钩子函数不同,虽然两者再生命周期钩子的数量和命名上有所差异但在Vue3中,使用组合式API时,需要显式引入生命周期钩子。

父子组件传参方式不同,Vue3提供了更灵活的父子组件传参方式,包括props和事件(emit)的使用

异步组件(Suspense) 支持不同。Vue3提供了Suspense组件,用于在异步组件加载时提供兜底内容,提升用户体验。

指令与插槽的使用不同,vue3在指令和插槽的使用上也有所变化,列如v-if和v-for的优先级调整。

main.js文件配置不同,在项目配置上,vue3相较于vue2的main.js文件中的设位置也有所不同

举报

相关推荐

0 条评论