随笔分类 - 前端学习 / vue3
摘要:需求:不同角色的用户显示不同的菜单,且对页面的按钮也有是否对角色开发的权限 服务端返回两个数据 一个是菜单的权限列表,另外一个是拥有的按钮列表数据,如下: 动态加载菜单 /** routerInfo: 动态路由 hasRoutePermission: 用户拥有的路由权限 */ const filte
阅读全文
摘要:普通定义ref标签值如下: <el-input ref="name" v-model="xxx" /> 在script中我们通过如下的代码获取到定义的ref标签 const name = ref(); 但是我们如果标签是动态生成的,他的值并不固定,需要通过:ref的方式进行绑定函数的方式,如下: <
阅读全文
摘要:// 通过模板路由配置 import { createRouter, createWebHistory } from "vue-router"; // 创建路由器 const routes = [ // 登录路由 { path: "/login", component: () => import("
阅读全文
摘要:属性使用动态值加固定值用 :a="`${变量名}` + '固定值'" 例如: <svg :style="{width,height}"> <!-- 内部需要用use结合使用 --> <use :xlink:href="`${prefix}` + 'mao'" :fill="color"></use>
阅读全文
摘要:在开发环境、测试环境、生产环境需要请求不同的接口,对应不同的数据。 因此,配置环境变量也尤为重要 第一:为项目根目录开发、测试、生成(也可以加入预发布)环境创建.env文件 .env.development .env.production .env.test 第二:配置数据 # 变量必须以 VITE
阅读全文
摘要:插槽(slot)可以实现父与子组件间通信,即想让父组件在指定位置插入一些信息。 插槽分为三种:默认插槽、具名插槽、作用域插槽 默认插槽 子组件代码: <h1>我是子组件默认插槽--父组件中子组件标签中的数据会放入slot中</h1> <!-- 默认插槽 --> <slot></slot> 父组件代码
阅读全文
摘要:vue3提供两种方法,分别为(爷爷提供)provide(提供)和(孙子)inject(注入)。 可以实现隔辈传入数据,且孙子组件可以修改爷爷提供的数据。 即如果子组件再调用子组件,那么父组件可以通过provide 和 inject来实现父孙志坚消息通行。 ①实现父子组件调用子组件, 子组件再调用子组
阅读全文
摘要:ref:给子组件的标签绑定ref属性,子节点把对应的数据暴露出来,可以以此修改子组件的值 $parent:子组件通过固定参数,拿到父组件暴露出去定义的方法或者数据,并操作 ref的用法: ①给子组件标签绑定ref <Son ref="son"></Son> ②在子组件中用defineExpose暴露
阅读全文
摘要:事务总线mitt适用于在任意组件间传递信息。 1、需要安装mitt插件 npm i mitt 2、新建一个emitter.ts文件 //导入mitt import mitt from 'mitt' //创建mitt实例 const emitter = mitt() //暴露mitt实例 export
阅读全文
摘要:自定义事件实现通信的逻辑是给子组件的标签上绑定一个自定义事件。 在子组件中写触发事件,传入实参。 在父组件中定义具体事件方法体逻辑。 例如: <!-- 绑定自定义事件xxx,实现子组件给父组件传递数据 --> <Event2 @xxx="handler3"></Event2> 在子组件中使用defi
阅读全文
摘要:props用于父组件向子组件传递数据。 子组件只能读取该值,但是不能修改 父组件代码: 子组件使用defineProps来接收数据
阅读全文
摘要:pinia是vue2中的vuex,状态管理,可以实现数据共享 1、先安装 npm install pinia 2、在main.ts中进行创建和载入 3、在src下新建store文件夹 定义存的文件 4、在组件中使用 此时控制台会有具体的值。 5、修改数据的三种方式 ①直接修改 countStore.
阅读全文
摘要:vue3中路由器的工作模式 主要有两种,history和hash模式 history vue2 -> model:history vue3 -> history:createWebHistory() React:BrowserRouter history具有的优点:URL更加美观,不带有#,更接近传
阅读全文
摘要:hooks实现将一个功能的所有数据、方法、生命周期函数放到一块去使用。 我们在src底下定义个Hooks文件夹,将我们要进行模块化的功能设置为use功能名。 例如:我要将点我加一这个功能进行hooks,则使用useSum.ts这个文件定义功能逻辑。 在这个ts里面需要export default 函
阅读全文
摘要:父组件 <template> <person :list="personList" /> </template> 子组件用defineProps 来接收 const props = defineProps({ list: { type:Array, required:true, }, }); con
阅读全文
摘要:watchEffect和watch的对比 都能监听数据的变化,不同的是监听数据的方式不同。 watch要明确指出要监听的数据 watchEffect不用明确指出要监听的数据,函数中用到哪些属性就监听那些属性。 watchEffect(() => { if (person.age > 22) { co
阅读全文
摘要:使用watch时,如果想监视对象的内部属性值。需要使用watch的第三个参数的配置对象,手动开启深度监视。 //使用watch时如果想监视对象内部的属性值,需要使用watch的第三个参数,手动开启深度监视 watch(person, (newValue, oldValue)=>{ console.l
阅读全文
摘要:watch 监听定义的数据发生改变的时候执行什么函数 watch 方法有两个参数 watch(sum,箭头函数) 这个箭头函数里面有两个参数(newValue,oldValue)=> {},如下代码 <template> <!-- watch;监视数据变化 vue3 可以监视一下四种数据类型: re
阅读全文
摘要:computed 的作用就是监测变量是否发生改变。如果变量发生了改变,那么computed定义的方法就会执行。 在vue3中computed新增get 和set方法。分别对应修改和设置值
阅读全文
摘要:可以看链接 https://blog.csdn.net/weixin_46146718/article/details/139269419
阅读全文

浙公网安备 33010602011771号