Bootstrap

vue组件、路由、cli

简答题

  • 子组件通过组件内的 props 属性进行接收

  • 通过 EventBus 进行传输

  • 子组件向父组件传值没有直接方法,我们可以采用:

  • 自定义事件:当子组件传值的时候可以触发自己的自定义事件,从而由自定义事件和父组件取得联系

  • EventBus:同样可以使用这个方法进行通讯,理论上来说说这个方法可以使用与任意两个组件的传值

  • 在单文件组件中的style标签设置scoped属性

  • 主要用于保留组件状态或避免组件重新渲染。

  • 使用传统的原生方法

  • 给子组件添加 ref = name,然后使用this.$refs.name获取dom元素

  • assets - 静态资源目录,内部存放资源文件,例如图片、json、音视频等

  • components - 项目组件目录,内部存放所有组件

  • App.vue - 根组件,相当于之前使用的根实例

  • Main.js - 入口文件

  • 优点:

  • 前后端分离开发, 提高了开发效率。

  • 业务场景切换时, 局部更新结构。

  • 用户体验好, 更加接近本地应用。

  • 缺点:

  • 不利于 SEO。

  • 初次首屏加载速度较慢

  • 页面复杂度比较高。

  • $router是一个 VueRouter 中的一个全局对象,里面包含了vueRouter很多方法和属性

  • route都是不同的,里面包含了 path、name、params 等路由相关信息

  • 定义路由规则时, 将路径中的某个部分使用 进行标记, 即可设置为动态路由。如:path:'/a/b/:id'

  • 获取传值的方法:

  • 使用 比如 可以获取当前路由的动态值

  • 设置props: true可以允许当前路由接收参数,通过路由的 props 设置数据, 并通过组件 props 接收

  • hash模式:默认模式,兼容性好,地址中一定有一个#,前进和后退功能设置起来比较麻烦

  • history模式:HTML5中提供的新模式,可以对url进行变更出处理,书写简便、格式美观、可存储的数据量也比hash大,但是兼容性较差,并且页面刷新可能会出现问题