Vue自定义指令、插槽、路由的简单使用

1.Vue中的自定义指令:

像Vue中的v-model,v-for等指令一样,我们也可以自定义这样的指令,有两种写法:

(1)全局写法:

在main.js中定义全局指令:

复制代码
Vue.directive('指令名',{
    inserted(e){
    相关操作
}
})

这里的e是指的是当前的标签;

(2)局部写法:

在作用的组件中,在export default{}中进行定义:

复制代码
<script>
export default {
	directives: {
		指令名: {
			inserted(e) {
				相应的操作
			}
		}
	}
}
</script>

调用时都是v-指令名进行使用;

这里注意,inserted这个钩子函数只在元素被添加到页面中时的逻辑,而如果使用update的话则在指令值进行修改的时候进行dom更新;

2.插槽的使用

作用:让组件内部的一些结构支持自定义,组件内需要定制的结构部分,使用slot占位,然后在使用组件时标签内部传入自定义的结构代替slot;

在子组件中定义slot标签占位:

在父组件中使用子组件时传入特定的结构进行自定义:

注意这里的是默认插槽,也就是子组件只有一个插槽的情况下,可以直接在使用子组件的时候加内容。

那如果子组件有多个的时候需要在子组件中的slot要加name作为标识,在父组件中使用时在子组件中用<templete #slot名>进行指定slot的定制;

这也叫做具名插槽;

那如果说出现我们在子组件内部有要在slot中进行使用的数据,则在子组件的slot中追加:属性名="属性值",并在父组件中通过#slot名="{属性名}进行获取"

3.单页应用和多页应用:

我觉得简单来说单页应用就是有一个页面作为主体,其他扩展功能都是在本页面进行页面更新渲染。而多页应用则是在一个页面作为主题,扩展功能都进行跳转展示;

4.路由的简单使用:

Vue中的路由就是路径和组件之间的对应关系:

路由的使用需要用到VueRouter

VueRouter的使用:

(1)用yarn add vue-router@3.6.5指令进行下载

(2)在main.js中导入VueRouter插件

html 复制代码
import VueRouter from 'vue-router'

(3)给Vue配置上VueRouter

html 复制代码
Vue.use(VueRouter)

(4)创建路由对象:

html 复制代码
const router = new VueRouter()

(5)将路由注入到Vue实例中

html 复制代码
new Vue({
    reader: h=>h(App)
    router:别名
})

以上五部基本上都是重复的,接下来我们要在项目中进行使用:

在main.js的VueRouter实例中进行路由规则的编写,再在App主组件中进行导航的配置,实现跳转入口的实现;

5.components目录和views目录的区别:

页面组件放在views中,复用组件放在components目录下

相关推荐
lichenyang4539 小时前
Docker 学习笔记(一):为什么需要镜像、容器和仓库?
前端
kyriewen9 小时前
别再对着 TypeScript 报错发呆了:我把 10 个最常见的红色波浪线翻译成了人话
前端·javascript·typescript
IT_陈寒9 小时前
SpringBoot自动配置的坑,我的API突然就404了
前端·人工智能·后端
free359 小时前
从 0 实现一个 Tiny JavaScript VM:项目架构拆解
javascript
暴走的小呆10 小时前
Vue 2 中 Object 的变化侦测:从 getter/setter 到 Dep、Watcher、Observer
vue.js
奇奇怪怪的10 小时前
Embedding 模型 10+ 横向评测
前端
陈广亮10 小时前
Monorepo 从 0 到 1 实操指南 2026 版:pnpm catalogs + Turborepo 2.x + changesets 全链路
前端
子兮曰10 小时前
OpenMontage 深度解剖:你的 AI 编程助手,其实是个视频工作室
前端·后端·ai编程
敲代码的鱼10 小时前
PDF 预览与签名批注写回 支持安卓 iOS 鸿蒙 UTS插件
android·前端·ios