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大,但是兼容性较差,并且页面刷新可能会出现问题