[Vue.js] 深入 -- 组件化开发

vue.js组件化开发 组件化开发是一种软件设计方法,它将大型软件系统分解成更小、更易于管理的部分,这些部分被称为组件。每个组件封装了特定的功能和界面,并且可以独立于系统的其他部分进行开发和测试。这种方法使得开发过程更加模块化,有助于提高代码的可重用性和可维护性。在Vue中进行组件化开发,首先需要理解Vue的组件系统。Vue组件是一个包含模板、逻辑和样式的独立单元。通过创建组件,可以将复杂的界面分解成更小的、可管理的部分。Vue组件的基本结构包括三个部分:<template>定义了组件的HTML结构,<script> 阅读详情

组件化开发思想

现实中的组件化思想体现
  • 标准
  • 分治
  • 重用
  • 组合

 

组件注册

全局组件注册语法
Vue.component(组件名称,{
	data:组件数据,
	template:组件模板内容
})

 

组件用法
<div id='app'>
    <button-counter></button-counter>
</div>

<button-counter></button-counter>可以重复使用

 

<script type="text/javascript">
    Vue.component('button-counter', {
        data: function(){
            return {
                count: 0
            }
        },
        template: '<button @click="handle">点击了{{count}}次</button>',
        methods: {
            handle: function(){
                this.count += 2;
            }
        }
    })
    var vm = new Vue({
        el: '#app',
        data: {

        }
    });

 

组件注册注意事项
  • data 必须是一个函数

    • 分析函数与普通对象的对比
  • 组件模块内容必须是单个跟元素

    • 分析演示实际的效果
  • 组件模块内容可以是模板字符串

    • 模板字符串需要浏览器提供支持(ES6语法)
  • 组件命名方式

    • 短横线方式
    Vue.component( 'my-component ', {/* ... */ })
    
    • 驼峰方式
    Vue.component('MyComponent' , {/* ... */ })
    

如果使用驼峰式命名组件,那么在使用组件的时候,只能在字符串模板中用驼峰的方式使用组件,但是在普通的标签模板中,必须使用短横线的方式使用组件

 

局部组件注册
var ComponentA= {/*... */ }
var componentB = {/*... */ }
var Componentc = {/*... */ }
new vue ( {
	el: #app'
	components: {
		'component-a' : ComponentA,
		'component-b' : ComponentB,
		'component-c' : ComponentC,
	}
})

局部组件只能在注册它的父组件中使用

<div id="app">
	<my-component></my-component>
</div>
<script>
	// 定义组件的模板
	var Child = {
	template: '<div>A custom component!</div>'
	}
	new Vue({
		//局部注册组件  
		components: {
			// <my-component> 将只在父模板可用  一定要在实例上注册了才能在html文件中使用
			'my-component': Child
		}
	})
 </script>

 

Vue调试工具用法

  • 打开网址

  • 克隆git clone https://github.com/vuejs/vue-devtools.git

  • 安装 yarn install命令 和 yarn run build命令

  • 打开扩展程序,点击开发者模式,加载已解压的扩展程序

  • 找到vue-devtools/packages/shell-chrome/

 

组件间数据交互

父组件向子组件传值
  • 组件内部通过props 接受传递过来得值
Vue.component ( 'menu-item' , {
	props:, ['title'],
	template: '<div>{{ title } }</div>'
})
  • 父组件通过属性将值传递给子组件
<menu-item title="来自父组件的数据"></menu-item>
<menu-item :title="title"></menu-item>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
<div id="app">
    <div>{{pmsg}}</div>
    <menu-item title='来自父组件的值'></menu-item>
    <menu-item :title='ptitle' content='hello'></menu-item>
</div>
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script type="text/javascript">
    /*
      父组件向子组件传值-基本使用
    */
    Vue.component('menu-item', {
        props: ['title', 'content'],
        data: function() {
            return {
                msg: '子组件本身的数据'
            }
        },
        template: '<div>{{msg + "----" + title + "-----" + content}}</div>'
    });
    var vm = new Vue({
        el: '#app',
        data: {
            pmsg: '父组件中内容',
            ptitle: '动态绑定属性'
        }
    });
</script>
</body>
</html>

 

  • props属性名规则
    • props中使用驼峰形式
    • 模板中需要使用短横线的形式
    • 字符串形式的模板中没有这个限制
Vue.component ( 'menu-item' , {
	//在Javascript 中是驼峰式的
	props:[ 'menuTitle'],
	template: '<div>{{ menuTitle }}<ldiv>'
})
<!-在html中是短横线方式的-->
<menu-item menu-title="nihao"></menu-item>

 

  • props属性值类型
    • 字符串 String
    • 数值 Number
    • 布尔值 Boolean
    • 数组 Array
    • 对象 Object

 

子组件向父组件传值
  • 子组件通过自定义事件向父组件传递信息
<button v-on:click='$emit("enlarge-text")'>扩大字体</button>
  • 父组件监听子组件的事件
<menu-item v-on:enlarge-text='fontSize +=0.1'></menu-item>
  • 子组件通过自定义事件向父组件传递信息
<button v-on:click='$emit("enlarge-text",0.1)'>扩大字体</button>
  • 父组件监听子组件的事件
<menu-item v-on:enlarge-text=' fontSize += $event '></menu-item>
 <div id="app">
    <div :style='{fontSize: fontSize + "px"}'>{{pmsg}}</div>
     <!-- 2 父组件用v-on 监听子组件的事件
		这里 enlarge-text  是从 $emit 中的第一个参数对应   handle 为对应的事件处理函数	
	-->	
    <menu-item :parr='parr' @enlarge-text='handle($event)'></menu-item>
  </div>
  <script type="text/javascript" src="js/vue.js"></script>
  <script type="text/javascript">
    /*
      子组件向父组件传值-携带参数
    */
    
    Vue.component('menu-item', {
      props: ['parr'],
      template: `
        <div>
          <ul>
            <li :key='index' v-for='(item,index) in parr'>{{item}}</li>
          </ul>
			###  1、子组件用$emit()触发事件
			### 第一个参数为 自定义的事件名称   第二个参数为需要传递的数据  
          <button @click='$emit("enlarge-text", 5)'>扩大父组件中字体大小</button>
          <button @click='$emit("enlarge-text", 10)'>扩大父组件中字体大小</button>
        </div>
      `
    });
    var vm = new Vue({
      el: '#app',
      data: {
        pmsg: '父组件中内容',
        parr: ['apple','orange','banana'],
        fontSize: 10
      },
      methods: {
        handle: function(val){
          // 扩大字体大小
          this.fontSize += val;
        }
      }
    });
  </script>

 

非父子组件间传值

  • 兄弟之间传递数据需要借助于事件中心,通过事件中心传递数据
    • 提供事件中心 var hub = new Vue()
  • 传递数据方,通过一个事件触发hub.$emit(方法名,传递的数据)
  • 接收数据方,通过mounted(){} 钩子中 触发hub.$on()方法名
  • 销毁事件 通过hub.$off()方法名销毁之后无法进行传递数据
  • 单独的事件中心管理组件间的通信
var eventHub = new Vue()

 

  • 监听事件与销毁事件
//监听事件
eventHub.$on('add-todo',addTodo)
//销毁事件
eventHub.$off('add-todo')

 

  • 触发事件
eventHub.$emit('add-todo',id)
<div id="app">
    <div>父组件</div>
    <div>
      <button @click='handle'>销毁事件</button>
    </div>
    <test-tom></test-tom>
    <test-jerry></test-jerry>
  </div>
  <script type="text/javascript" src="js/vue.js"></script>
  <script type="text/javascript">
    /*
      兄弟组件之间数据传递
    */
    //1、 提供事件中心
    var hub = new Vue();

    Vue.component('test-tom', {
      data: function(){
        return {
          num: 0
        }
      },
      template: `
        <div>
          <div>TOM:{{num}}</div>
          <div>
            <button @click='handle'>点击</button>
          </div>
        </div>
      `,
      methods: {
        handle: function(){
          //2、传递数据方,通过一个事件触发hub.$emit(方法名,传递的数据)   触发兄弟组件的事件
          hub.$emit('jerry-event', 2);
        }
      },
      mounted: function() {
       // 3、接收数据方,通过mounted(){} 钩子中  触发hub.$on(方法名
        hub.$on('tom-event', (val) => {
          this.num += val;
        });
      }
    });
    Vue.component('test-jerry', {
      data: function(){
        return {
          num: 0
        }
      },
      template: `
        <div>
          <div>JERRY:{{num}}</div>
          <div>
            <button @click='handle'>点击</button>
          </div>
        </div>
      `,
      methods: {
        handle: function(){
          //2、传递数据方,通过一个事件触发hub.$emit(方法名,传递的数据)   触发兄弟组件的事件
          hub.$emit('tom-event', 1);
        }
      },
      mounted: function() {
        // 3、接收数据方,通过mounted(){} 钩子中  触发hub.$on()方法名
        hub.$on('jerry-event', (val) => {
          this.num += val;
        });
      }
    });
    var vm = new Vue({
      el: '#app',
      data: {
        
      },
      methods: {
        handle: function(){
          //4、销毁事件 通过hub.$off()方法名销毁之后无法进行传递数据  
          hub.$off('tom-event');
          hub.$off('jerry-event');
        }
      }
    });
  </script>

 

组件插槽

作用
  • 父组件向子组件传递内容(模板内容)

  • 组件的最大特性就是复用性,而用好插槽能大大提高组件的可复用能力

 

基本用法
  • 插槽位置
Vue.component('alert-box' , {
	template:
		<div class="demo-alert-box">
			<strong>Error!</strong>
    		<slot></slot>
		</div>
})
  • 插槽内容
<alert-box>Something bad happened.</alert-box>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
<div id="app">
    <alert-box>有bug发生</alert-box>
    <alert-box>有一个警告</alert-box>
    <alert-box></alert-box>
</div>
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script type="text/javascript">
    /*
      组件插槽:父组件向子组件传递内容
    */
    Vue.component('alert-box', {
        template: `
        <div>
          <strong>ERROR:</strong>
          <slot>默认内容</slot>
        </div>
      `
    });
    var vm = new Vue({
        el: '#app',
        data: {

        }
    });
</script>
</body>
</html>

 

具名插槽用法

废弃了原来的slot,换成现在v-slot:(可以简写成#)

若一个组件中有多个插槽,则可对这多个插槽进行命名,进行区分,也使得插槽更具语义化

//comp
<div>
	<p><slot></slot></p>
	<span><slot name="content"></slot></span>
</div>

//parent
//注意:父组件中使用的子组件的插槽,其作用域为父组件,故该title会渲染成父组件中的title的值
data() {
	return {
		title: '标题'
	};
}
<comp>
	//默认插槽用default做参数
	<template v-slot:default>具名插槽{{title}}</template>
	<template v-slot:content>内容信息</template>
</comp>

/* 渲染之后的为:
<div>
	<p>具名插槽标题</p>
	<span>内容信息</span>
</div>
*/

 

作用域插槽

废弃了slot-scope

当父组件中的使用到了子组件中的插槽,且需要显示子组件的某个变量的值,可通过slot的值进行上下文对象的获取

  • 应用场景
    • 父组件对子组件的内容进行加工处理
//comp
<div>
	<slot :foo="foo"></slot>
</div>

//parent
<comp>
	<template v-slot:default="ctx">内容显示:子组件的foo数据为{{ctx.foo}}</template>
</comp>

unity | 动画模块之滚动选项框 动画模块之滚动选项框 阅读详情

相关推荐

lisflood-fp(一)从源码到可执行文件:Windows下的Cmake实战编译指南

本文详细介绍了在Windows环境下使用Cmake工具编译lisflood-fp水文模型源码生成可执行文件的全过程。从开发环境配置、源码获取到实战编译,逐步指导如何解决常见错误并处理运行时依赖,最终生成可用的exe文件。特别适合水文专业研究者和工程师学习参考。

weixin_30555125的博客 481

大规模MIMO系统中量化预编码技术的原理与应用

量化预编码技术是5G及未来无线通信系统中的关键技术之一,通过在大规模MIMO系统中应用低分辨率DAC,显著降低硬件复杂度和功耗。其核心原理是在数字域进行线性预编码处理,再通过低分辨率量化,既保留了空间复用增益,又优化了系统性能。该技术在提升频谱效率和能量效率方面具有重要价值,广泛应用于eMBB和URLLC场景。通过渐近等效模型和统计等效模型,可以高效分析系统性能,如信号干扰噪声比(SINR)和符号错误概率(SEP)。工程实践中,量化预编码技术需要结合信道状态信息(CSI)和最优预编码设计,以实现性能与功耗的

weixin_30780649的博客 599

麒麟V10系统下CoreDump文件自动归档与快速定位指南(附coredumpctl实战)

本文详细介绍了在麒麟V10操作系统下,如何利用systemd-coredump机制和coredumpctl工具实现CoreDump文件的自动化管理与高效调试。内容涵盖从系统架构解析、自动化配置策略,到使用coredumpctl进行快速查询、过滤与深度分析的实战指南,旨在帮助运维人员和开发者快速定位系统崩溃的根本原因,提升问题排查效率。

gg901的博客 222

vue组件通信讲解(满满的干货)

组件通信Vue组件之间传值父组件向子组件传值子组件向父组件传值兄弟之间的传递 Vue组件之间传值 父组件向子组件传值 父组件发送的形式是以属性的形式绑定值到子组件身上。 然后子组件用属性props接收 在props中使用驼峰形式,模板中需要使用短横线的形式字符串形式的模板中没有这个限制 <div id="app"> <div>{{pmsg}}</div> <!--1、menu-item 在 APP中嵌套着 故 menu-item 为

qq_45378970的博客 273

Abaqus 2023 保姆级安装避坑指南:从环境变量到许可证配置,一次搞定

本文提供Abaqus 2023的详细安装指南,涵盖环境变量设置、许可证配置等关键步骤,帮助用户避开常见安装陷阱。通过系统环境检查、目录结构规划、许可证服务器安装及Java环境配置等实用技巧,确保顺利完成安装并优化软件性能。

weixin_42524276的博客 426

告别命令行恐惧!用nTopology可视化工具5分钟搞定三维Voronoi泡沫建模

本文介绍如何利用nTopology可视化工具快速生成三维Voronoi泡沫结构,无需编程即可完成复杂建模。Voronoi结构在轻量化设计、能量吸收和生物医学等领域具有重要应用,传统命令行方法门槛较高。通过nTopology的四步流程,用户可在5分钟内创建仿真就绪模型,大幅提升设计效率。

weixin_30764771的博客 427

Vue.js实战第七章笔记(一)

7.1组件与复用 7.1.1为什么使用组件 组件可以在任何使用Vue的地方使用 7.1.2组件用法 创建Vue实例: var app = new Vue({ el:'#app' }) 注册组件: ①全局注册 Vue.component('my-component',{ //选项 }) my-component就是注册的组件,自定义标签名称,推荐用小写+‘-’的形式命名,要在父实例中使用这个组件...

ss_veine的博客 358

Python 爬虫实战:社交媒体(Facebook)评论数据抓取与情感分析

在当今数字化时代,社交媒体平台如 Facebook 已成为人们日常生活中不可或缺的一部分。它不仅是人们分享生活点滴、交流思想的场所,也为企业和研究人员提供了丰富的数据资源。通过分析社交媒体上的评论数据,我们可以了解用户的情感倾向、产品反馈以及社会热点话题等。本文将详细介绍如何使用 Python 爬虫技术抓取 Facebook 上的评论数据,并进行情感分析。这不仅是一次技术实战,更是一次数据探索之旅。

yansideyucsdn的博客 672

vue父组件和子组件数据传递

vue父组件和子组件数据传递

我的专栏 2万+

【Bug已解决】claude: command not found 解决方案

方案适用场景推荐指数添加 PATH全局 bin 目录确实存在但未加入 PATH⭐⭐⭐⭐⭐nvm 重新安装多 Node 版本切换导致失效⭐⭐⭐⭐⭐Windows 环境变量检查Windows 平台专用⭐⭐⭐⭐原生安装脚本想彻底避开 npm PATH 问题⭐⭐⭐⭐清理多重 Node 安装系统里有多套 Node 管理方式冲突⭐⭐⭐报错的核心是npm 全局安装的可执行文件路径没有正确出现在系统的 PATH 环境变量里,而不是安装本身失败了。

一键难忘的博客 1万+

【华为OD机试真题 新系统】1010、魔法阵的能量收集 | 机试真题+思路参考+代码解析(C++、Java、Py、C语言、JS)

【华为OD机试真题 新系统】1010、魔法阵的能量收集 | 机试真题+思路参考+代码解析(C++、Java、Py、C语言、JS) 华为od机试,华为od机试真题,华为od机试E卷,华为odE卷,华为od机试真题E卷,华为OD,华为OD机试,华为OD机试真题,华为od机考,华为od机试D卷,华为od机试真题D卷,华为od手撕代码,华为od,华为od机试C卷,华为od e卷,华为2026e卷,od机试,2026E卷,华为OD机试E卷,什么是华为od,华为od介绍,全面了解华为od,2026华为od,如何备战华为

KJ.JK 1076

vue父组件与子组件之间传值

父组件像子组件传值:v-bind进行绑定:(自定义属性) 父组件 其中counts是自定义属性,它的值是传给子组件的 子组件 子组件通过props属性,counts是父组件传过来的值 子组件向父组件传值(自定义事件) ...

weixin_42855400的博客 2万+

先进封装类别分析与典型案例

当制程微缩逼近物理极限、单颗大芯片(reticle limit)面积受限于光罩尺寸,且逻辑、存储、射频、传感等功能无法用同一套工艺最经济地制造时,性能增益的来源从 "晶体管密度" 转向 "互连密度"。先进封装的本质,是在芯片外部用更短、更密、更宽的路径把多个裸 die(die)互连起来,换取更高带宽、更低延迟、更小体积和异构集成能力。行业通常按划分为 2D、2.5D、3D、扇出、SiP 五大谱系,Chiplet/UCIe 则是贯穿其上的设计方法论,玻璃基板、共封装光学(CPO)是正在成型的新分支。

0 36

Vue.js教程-组件化开发

Vue.js教程-组件化开发前言Vue组件化什么是组件化Vue单页面开发的解释组件化思想组件的使用原理实际开发中的使用-父子组件父子组件传递数据父传子-props用法子传父-this.$emit()自定义事件父组件直接获取子组件的数据this.$childrenthis.$ref子组件直接获取父组件的数据-this.$parent非父子组件之间的数据传递总结 前言 本章介绍为什么要进行组件化开发、什么是组件化和组件之间的关系和数据传递。 Vue教程目录 Vue组件化 什么是组件化 当我们遇到复杂问题时

CoderHqf的博客 4218

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Vue.js 组件化开发

三、组件化开发1.1 组件化的实现和使用步骤组件注册步骤解析1.2 全局组件和局部组件1.3 父组件和子组件1.4 注册组件语法糖1.5 组件模板抽离的写法        人面对复杂问题的处理方式: 任何一个人处理信息的逻辑能力都是有限的 所以,当面对一个非常复杂的问题时,我们不太可能—次性搞定一大堆的内容。 但是,我们人有一种天生的能力,就是将问题进行拆解。如果将一个复杂的问题,拆分成很多个可以处理的小问题,再将其放在整体当中,你会发

wang_zhao_的博客 3143

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Vue.js的组件化开发

web中的组件其实就是页面组成的一部分, 好比是电脑中的每一个元件(如硬盘、键盘、鼠标), 它是一个具有独立的逻辑和功能或界面, 同时又能根据规定的接口规则进行相互融化, 变成一个完整的应用。

无笙的博客 1万+

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Vue.js中的组件化开发

组件化开发是现代前端开发的趋势之一。它允许开发者将复杂的用户界面拆分成多个简单的、独立的组件,每个组件拥有自己独立的状态和行为。在Vue.js中,组件不仅限于视图层,它也可以包含业务逻辑、样式和模板。

weixin_52938153的博客 785

《深入浅出 Vue.js 组件化开发》

在 Vue.js 中,组件是可复用的 Vue 实例,它具有自己的模板、逻辑和样式。通过将页面拆分成多个组件,我们可以实现代码的模块化和复用,提高开发效率和代码可维护性。Vue.js 组件化开发是一种非常强大且灵活的开发模式,它可以帮助我们实现代码的模块化和复用,提高开发效率和代码可维护性。在进行组件化开发时,我们应该遵循一定的命名规范和拆分原则,使用合适的通信方式和样式管理方法,以及采用懒加载、缓存和性能优化等方法来提高组件的性能和用户体验。

程序老曹的博客 1665

类、对象与方法:从订单业务讲透面向对象设计与多语言实现

面向对象编程的核心是类、对象与方法:类定义数据与行为边界,对象是运行时按模板创建的实例,方法封装对状态的操作规则。理解构造函数、实例化与访问控制,能避免字段散落、状态被随意修改等常见问题。在订单、用户、优惠券等业务建模中,合理的封装、组合和多态让需求变化时只需扩展新类,而不是修改大量流程代码。Python、Java、JavaScript、C# 虽语法不同,但对象创建、方法调用和类加载机制有相通逻辑。围绕订单类的设计、实例化与多语言实现差异,拆解从语法入门到工程落地的关键路径。

weixin_34406086的博客 429

Vue.js组件化开发实战

根据2023年State of JS调查报告,78%的前端开发者将组件化开发列为提升工程效率的核心手段,其中Vue.js凭借其渐进式架构和响应式系统,持续占据组件开发框架的头部位置。某头部电商平台的实践数据显示,严格遵循该原则的项目,组件复用率提升40%,版本迭代周期缩短25%。| IndexedDB | ★★☆☆☆ | 无限制 | 复杂离线数据 || Pinia插件 | ★★★☆☆ | 依后端而定 | 全局状态同步 |

2501_92585538的博客 1091

Vue.js 组件化开发:从入门到进阶

介绍了 Vue.js 组件化开发的概念与实践,首先解释了什么是组件化及其优势,然后通过简单的例子展示如何创建和使用 Vue 组件。接着,讨论了组件间的通信,包括父子组件间的数据传递和事件处理。最后,文章提到组件库的应用,帮助开发者更高效地复用代码。总体而言,组件化开发能够使代码更模块化、更易维护。

lzDevastator的博客 1099

VUE.JS组件化开发实践

VUE.JS组件化开发实践 前言 公司目前制作一个H5活动,特别是有一定统一结构的活动,都要码一个重复的轮子。后来接到一个基于模板的活动设计系统的需求,便有了一下的内容。首先会对使用Vue进行开发的一些前期需要的技术储备进行简单介绍。 组件化 需求一到,接就是怎么实现,技术选型自然成为了第一个问题。鉴于目前web前端mvvm框架以及组件化开发方式的流行,决定技术栈采用:vue + vuex + e...

追逐的活 978

vue.js 组件化开发 &根组件

在这个实例中,我们定义了一个根组件'app',并在它内部使用了一个'hello-world'组件。当应用启动时,根组件会渲染到id为'app'的DOM元素内,同时'hello-world'组件也会渲染出来,显示'Hello World!这里创建了一个名为'app'的Vue实例,将其挂载到id为'app'的DOM元素上,然后使用‘hello-world’组件作为根组件的模板。这里定义了一个名为'hello-world'的组件,它的模板是一个简单的div标签,内容为'Hello World!

猿码互联 860

Vue.js 的组件化开发指南

子组件触发事件,父组件监听并处理。

2501_91537388的博客 1068

Vue.js 组件化开发简介:让你的代码更优雅

组件(Component)简单来说就是页面中的一个独立模块。你可以把它理解为一块“拼图”,把这些拼图组合起来,就能搭建出一个完整的页面。导航栏:放网站 logo 和菜单。用户信息卡片:展示头像、昵称和个人简介。动态列表:显示用户发布的动态。这些模块就是典型的组件!每个组件都有自己的逻辑和样式,互相独立,组装起来后组成了整个页面。组件化开发是 Vue.js 的核心思想之一。它让我们的代码更易维护、更易扩展,还能提高开发效率。组件是页面的基本单元,类似“拼图”。它有三大核心部分:模板、脚本和样式。

轻口味的专栏 1220

Vue.js 基础知识:组件化开发

组件化开发是 Vue.js 的核心优势,它使代码更加模块化、可维护、可复用,并加速开发进程。通过学习组件的创建、使用、数据传递和生命周期,您可以更好地理解和运用 Vue.js 组件化开发的强大功能,构建更加灵活、可扩展的应用程序。

u011464172的专栏 1177
上一篇: [Vue.js] 基础 -- 综合案例 -- 图书管理
下一篇: [Vue.js] 深入 -- 案例 - 购物车
^ω^奋斗小青年
博客等级 码龄8年 474粉丝 126原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值