【前端Vue学习系列】三、Vue进阶篇

本文详细介绍了Vue.js的组件系统,包括局部和全局组件的注册与使用。接着讲解了自定义指令的创建及生命周期钩子函数的应用。此外,还阐述了Vue实例的生命周期,展示了各个生命周期钩子的执行顺序。文章进一步探讨了路由管理和状态管理,通过vue-router实现路由跳转,并通过vuex管理应用状态。最后,简要介绍了axios库在Vue项目中的使用,用于处理HTTP请求。整体内容旨在帮助读者深入理解Vue.js的高级特性并提升实战技能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

系列文章目录



前言

Hi,大家好,我是希留。

上篇文章带大家了解了Vue的一些基础用法,仅仅掌握一些基础的用法是不够的,还需要有更深入的了解,所以今天的文章咱们来聊聊Vue的进阶篇,废话不多说,开始燥起来!


一、组件

组件(Component)是 Vue.js 最强大的功能之一。它可以扩展 HTML 元素,封装可重用的代码。

组件系统让我们可以用独立可复用的小组件来构建大型应用,几乎任意类型的应用的界面都可以抽象为一个组件树:

在这里插入图片描述
为了能在模板中使用,这些组件必须先注册以便 Vue 能够识别。这里有两种组件的注册类型:全局注册和局部注册。

在注册一个组件的时候,我们始终需要给它一个名字。而定义组件名的方式有两种:kebab-case(短横线分隔命名)和PascalCase(首字母大写命名)

当使用短横线分隔命名定义一个组件时,例如:‘my-component-name’,则必须在引用这个自定义元素时使用短横线分隔,例如 。当使用首字母大写命名定义一个组件时,例如:‘MyComponentName’,你在引用这个自定义元素时两种命名法都可以使用。即 和 都是可接受的。

1. 局部组件

使用局部注册的组件就叫局部组件,示例如下(代码接上篇例子,如有需要,可私信我)

<template>
  <div class="hello">
    ...
		<!--使用组件-->
    <Navbar></Navbar>
  </div>
</template>

<script>
export default {
   
  name: 'HelloWorld',
    //定义局部组件,这里可以定义多个局部组件
  components: {
   
    //组件的名字
    'Navbar': {
   
      //组件的内容
      template: '<ul><li>首页</li><li>学员管理</li></ul>'
    }
  },
  ...
}
</script>

可看到页面已渲染出数据,说明组件注册成功。
在这里插入图片描述

2. 全局组件

使用Vue.component创建的组件就叫全局组件,它们在注册之后可以在任何新创建的 Vue 根实例 (new Vue) 的模板中使用。

Vue.component('component-a', {
    /* ... */ })
Vue.component('component-b', {
    /* ... */ })
Vue.component('component-c', {
    /* ... */ })

new Vue({
    el: '#app' })
<div id="app">
  <component-a></component-a>
  <component-b></component-b>
  <component-c></component-c>
</div>

二、自定义指令

除了默认设置的核心指令( v-model 和 v-show ), Vue 也允许注册自定义指令。也分为全局注册和局部注册;

示例代码如下:

// 注册一个全局自定义指令 `v-focus`
Vue.directive('focus', {
   
  // 当被绑定的元素插入到 DOM 中时……
  inserted: function (el) {
   
    // 聚焦元素
    el.focus()
  }
})
<template>
  <div class="hello">
    ...
		<input v-focus />
  </div>
</template>

<script>
export default {
   
  name: 'HelloWorld',
   // 注册局部自定义指令
  directives: {
   
    focus: {
   
      // 指令的定义
      inserted: function
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Java升级之路

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值