Vue之创建组件

Vue组件:创建组件、注册组件、使用组件 组件(component)是 Vue.js 最强大的功能之一。通过开发组件可以封装可服用的代码,将封装好的代码注册成标签,扩展 HTML 元素的功能。几乎任意类型应用的界面都可以抽象为一个组件树,而组件树可以用独立可复用的组件来构建。 阅读详情

一. 创建全局组件的方法

1. 分为两步,首先使用 Vue.extend() 创建模板对象,然后使用Vue.component(‘组件的名称’, 组件的模板对象) 创建组件。

代码格式为:

//方法一:
        //第一步:创建模板对象
        var component1 = Vue.extend({
            template: '<h3>这是用Vue.extend 创建的组件</h3>'
        });
        //第二步:使用Vue.component('组件的名称', 组件的模板对象)
        Vue.component('myComponent1', component1);
        
        //当然也可将两步合一:
        Vue.component('myComponent1', Vue.extend({
            template: '<h3>这是用Vue.extend 创建的组件</h3>'
        })
        );

2. 直接使用Vue.components() 创建组件。

代码格式为:

//方法二:
        Vue.component('myComponent2', {
            template: '<h3>这是直接使用Vue.components创建出来的组件</h3>'
        });

3.基于第二种方法,在控制显示的div元素外,使用template模板直接定义组件的template模板结构。

代码格式为:

<template id="template2">
        <h1>这是外部定义的私有组件</h1>
</template>
//方法三:在被控制的div元素外,直接定义组件的template模板结构
        Vue.component('myComponent3', {
            template: '#template'
        });

二. 创建私有组件

在Vue实例内,使用Vue含有的components属性创建。
代码格式:

	<div id="app2">
        <login></login>
        <login2></login2>
    </div>
	<template id="template2">
        <h1>这是外部定义的私有组件</h1>
    </template>
 //定义私有组件
        var vm2 = new Vue({
            el: '#app2',
            data: {},
            methods: {},
            components: {
                login: {
                    template: '<h1>这是私有的组件login</h1>'
                },
                login2: {
                    template: '#template2'
                }
            }
        })

三. 组件的调用

直接将组件名称作为一个标签写入。
例如:对 二 中的私有组件login调用,直接在html中使用<login></login>
注意: 若遇到驼峰命名法的组件名称,在调用组件,将其标签化时,必须将名称中的所有大写字母变成小写,并在改写后的字母前使用“-”连接(可以视作单词之间的连接符号)。
例如:组件名称为 myComponent1 ,则标签化后为<my-component1></my-component1>。这里的大写字母C化为小写,前面加了“-”连接。

四. 完整代码演示

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="vue.js"></script>
</head>

<body>
    <div id="app">
        <my-component1></my-component1>
        <my-component2></my-component2>
        <my-component3></my-component3>
    </div>

    <div id="app2">
        <login></login>
        <login2></login2>
    </div>

    <template id="template">
        <div>
            <h1>这是template元素在外部定义的组件结构,推荐使用</h1>
        </div>
    </template>

    <template id="template2">
        <h1>这是外部定义的私有组件</h1>
    </template>

    <script>
        //创建全局的Vue组件
        //方法一:
        //第一步:创建模板对象
        var component1 = Vue.extend({
            template: '<h3>这是用Vue.extend 创建的组件</h3>'
        });
        //第二步:使用Vue.component('组件的名称', 组件的模板对象)
        Vue.component('myComponent1', component1);

        //方法二:
        Vue.component('myComponent2', {
            template: '<h3>这是直接使用Vue.components创建出来的组件</h3>'
        });

        //方法三:在被控制的div元素外,直接定义组件的template模板结构
        Vue.component('myComponent3', {
            template: '#template'
        });


        var vm1 = new Vue({
            el: '#app',
            data: {

            }
        });

        //定义私有组件
        var vm2 = new Vue({
            el: '#app2',
            data: {},
            methods: {},
            components: {
                login: {
                    template: '<h1>这是私有的组件login</h1>'
                },
                login2: {
                    template: '#template2'
                }
            }
        })
    </script>
</body>

</html>
Vue嵌套组件创建和销毁的顺序        理解生命周期和钩子函数的调用在工程中十分重要,关于Vue生命周期的理解我推荐这一遍详解Vue生命周期 。写得真不错,浅显易懂,任何初学者一看都能明白是怎么一回事。今天我当然不是来讲生命周期的,我要将的是嵌套组件的创建顺序,嵌套组件件钩子函数的执行顺序,最后是销毁顺序。闲话少说,直接上代码。 &lt;!DOCTYPE html&gt; &lt;html lang="en"&gt; ... 阅读详情

相关推荐

【第十六篇】Vue组件专题-创建方式

  本文我们开始来介绍下Vue中的组件,组件是可复用的 Vue 实例,且带有一个名字。 Vue组件   基础页面如下 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device...

波波烤鸭的博客 1万+

Vue组件的概念及其创建和使用

组件是可复用的Vue实例,封装标签,样式和JS代码🚧组件化:封装的思想,把页面上“可重复使用”封装为“组件”,从而方便项目的开发。一个页面,可以拆分成一个个组件,一个组件就是一个整体。每个组件可以有自己独立的结构样式和行为(html、css和js)

派拉斯兔子的博客 2061

高速数字信号硬件设计:灵巧手方向核心技能与实战解析

在机器人产业加速演进的今天,灵巧手等高自由度末端执行器对硬件电路设计提出了更高要求。传统硬件工程师熟悉功能、功耗与EMC,而灵巧手设计还需在极小空间内融合多路电机驱动、高速数字接口与微弱模拟信号采集。信号完整性与电源完整性成为决定系统稳定性的关键:信号上升沿决定有效带宽,阻抗匹配、回流路径和去耦策略直接影响通信质量与抗干扰能力。从阻抗计算、等长设计到FPC布线,再到电源预算与纹波抑制,这些高速数字信号设计基础原理不仅适用于服务器主板,更是灵巧手控制器开发与调试的必修课。本文面向从事机器人硬件、嵌入式系统与电

weixin_29172963的博客 236

Vue组件的创建和使用

vue组件的使用~ 你知道组件中的data为什么要写成函数形式吗?为什么用return返回函数?

Darlingmi的博客 4119

从FedAvg到实战:手把手教你用PyTorch复现联邦学习经典论文实验(MNIST/CIFAR-10)

本文详细介绍了如何使用PyTorch复现联邦学习经典算法FedAvg在MNIST和CIFAR-10数据集上的实验。从环境搭建、数据非IID划分到模型实现和参数聚合,手把手教你掌握联邦学习的核心技术与实战技巧,帮助开发者和研究人员快速实现隐私保护的分布式机器学习方案。

weixin_29053695的博客 253

解密DS90UB983-Q1的汽车电子魔法:如何通过FPD-Link IV实现4K视频的无缝传输

本文深入解析了德州仪器DS90UB983-Q1串行器芯片如何通过FPD-Link IV技术在汽车电子中实现4K视频无缝传输。文章详细介绍了该技术的核心功能,包括多流传输(MST)模式、热插拔检测(Hot Plug Detect)机制以及电磁兼容性设计,为车载信息娱乐系统提供了高带宽、低延迟的可靠解决方案。

i3j4k5的博客 240

Vue基础--组件的创建和使用

Vue组件的基本使用

qq_44749491的博客 2652

SpringAi 通过大模型来实现调用自己的Api

摘要 本文介绍了如何利用Spring AI的Tools机制扩展大模型能力,实现业务系统集成。通过@Tool和@ToolParam注解定义工具方法,将订单查询和关闭功能暴露给大模型调用。关键实现包括:1)使用详细描述标注工具方法和参数;2)在ChatClient中注册工具服务;3)集成对话记忆保持上下文。该方法使AI具备操作业务系统的能力,形成"认知-决策-执行"闭环,大幅提升了模型在实际业务场景中的应用价值。

又要搬砖了 836

Vue创建组件的三种方式

方式一:使用Vue.extend来创建全局的Vue组件 1.1 使用Vue.extend来创建组件模板对象 var com1 = Vue.extend({ template:'&lt;h3&gt;这是使用Vue.extend创建的组件&lt;/h3&gt;' //通过template属性,制定了组件要展示的html结构 }) 1.2 使用 Vue.component完成...

北海之灵的博客 4392

Supervisor 安装与使用

一、Supervisor 介绍 Supervisor 是一个用 Python 编写的进程管理工具,它可以用于监控和控制类 UNIX 操作系统上的多个进程。它是一个客户端/服务器系统,其中 Supervisor 的服务器端称为 supervisord,负责启动管理的子进程、响应客户端命令、重启崩溃或退出的子进程、记录子进程的 stdout 和 stderr 输出,以及处理子进程生命周期中的事件。客...

疯子丶pony的博客 3862

地方政府预算数据抓取:利用Python爬虫获取预算安排、资金分配与支出情况

爬虫是通过模拟浏览器行为,从互联网上自动获取数据的程序。在本案例中,我们将通过爬虫从地方政府的官方网站或预算公开平台抓取各类预算信息。这些信息一般以HTML网页的形式呈现,可以通过爬虫对网页内容进行解析,提取所需的预算数据。Python作为数据抓取的强大工具,凭借其简洁的语法、强大的第三方库(如requestsSelenium等)以及丰富的数据处理能力,成为了开发爬虫应用的首选语言。

2201_76125261的博客 941

VUE 创建组件常见的几种方式

要在其他组件或 Vue 实例中使用单文件组件,你需要使用构建工具(如 Webpack 或 Vite)和相应的加载器(如 vue-loader 或 @vitejs/plugin-vue)来处理。单文件组件(Single File Components,简称 SFCs)是 Vue.js 官方推荐的一种组件编写方式,它将一个组件的模板、JavaScript 和 CSS 写在同一个。方法创建的,注册后的组件可以在任何新创建的 Vue 实例(包括根实例)的模板中使用。局部组件是在 Vue 实例或组件的。

知码客 1337

SSH 远程登录报错:kex_exchange_identification: Connection closed.....

不知道为啥会出现这样的情形,最近这段时间登录都是正常的,不知道哪里抽风了,就提示这个。错误信息 kex_exchange_identification: Connection closed by remote host 出现在尝试使用 SSH 连接到远程服务器过程中,表明在密钥交换阶段的一开始,远程主机就关闭了连接。服务器的sshd_config文件中配置错误,可能是不允许的加密算法、修订文件中的语法错误,或者未正确指定用于SSH的HostKey。如果当前已有太多活动连接,新的连接尝试可能会被拒绝。

飞越蓝天的专栏 8296

VUE 中组件的三种创建方式

第一种方法,创建全局的vue组件 var coml = Vue.extend({ // 通过template 属性指定组件要展示的结构 template:'<a><h1>这是使用 Vue.extend 创建的组件</h1></a>' }) 如果使用 Vue.component 定义全局组件的时候,组件名称使用了驼峰,就得用 - 来连接驼峰 改为小写 使用Vue.component('组件名称','创建出来的组件模板对象') Vue.component('

qq_46179813的博客 1605

AgentScope实战训练营- Java从零开始快速构建Agent完整教程

本文基于阿里巴巴开源的 AgentScope Java 框架,从零开始手把手带你构建 AI 智能体应用。内容涵盖环境搭建、基础对话、工具调用、结构化输出、多Agent流水线、Hook可观测性、会话持久化、MCP协议、RAG知识库集成、多模态工具、技能系统、Spring Boot Web部署等21个核心模块,附带完整可运行代码示例,帮助Java开发者快速掌握Agent开发全流程。

program哲学 858

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Vuejs组件的创建使用十一

<body> <div id="root"> <my-school></my-school> <msg></msg> <hr> <student></student> </div> <div id="root2"> <hr> <msg></msg> </div>

qq_50563868的博客 744

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

vue怎么自己创建组件并引用_Vue创建组件的方式,你知道几种?

前言现在前端开发中使用Vue的估计比较多,组件也是Vue比较核心的内容,也是我们平常开发中接触最多的东西了,那么什么是组件呢?组件可以是小到一个按钮,一个图标,也可以大到一个页面,甚至是一个系统。最近接手了一个Vue的项目,可以说是学到了不少东西,当然也包括本篇说的“组件”,所以想着写下来分享一下。这篇文章不讲组件的基础,只讲创建组件(注册)的几种方式。全局注册Vue.component('my-...

weixin_39691748的博客 1024

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

js vue 创建一个div_vuejs组件

一、什么是组件?组件(Component)是Vue.js最强大的功能之一。组件可以扩展HTML元素,封装可重用的代码。在较高层面上,组件是自定义元素,Vue.js的编译器为它添加特殊功能。在有些情况下,组件也可以表现为用is特性进行了扩展的原生HTML元素。总结:组件是用来完成特定功能的一个自定义的HTML标签例如:注意:mytag就是一个组件,该组件必须通过Vue为mytag赋予一定的功能二、组...

weixin_42553588的博客 568

Vue的组件、组件的创建、data、methods

Vue的组件、组件的创建、组件中的data、组件中的methods

m0_74343097的博客 848

Vue学习——创建私有组件

方法1 直接在vue实例中创建 <div id="app"> <com></com> </div> var vm = new Vue({ el:'#app', data:{ }, components:{ //组件名 com:{ //组件模板 template:'...

weixin_43246812的博客 271

Vue组件化编程2:组件的创建、注册、使用

vue中组件的含义、创建、注册和使用的全部内容。

casually的博客 1417

Vue中创建组件及引入组件及调用

第一章 Vue中创建组件及引入组件及调用 文章目录一、什么是组件?二、如何注册组件?1.注册组件2.vue项目中引入组件总结 Vue创建组件 ` Vue框架最核心思想就是组件化,方便开发,便于维护管理,那么,如何在vue中创建组件及如何引用呢? 一、什么是组件? 组件是Vue.js最强大的功能之一。组件可以扩展HTML元素,封装可重用的代码。在较高层面上,组件是自定义的元素,Vue.js的编译器为它添加特殊功能。在有些情况下,组件也可以是原生HTML元素的形式,以is特性扩展。 二、如何注册组件? 1

On the way 5411

vue组件的创建和使用

创建vue组件: 大概分为以下几步: 1.先在component里新建文件,XXX.vue 2.在建好的组件里,输入vue会有代码提示 3.在app.vue里写import XXX(组件名)from ‘./components/XXX.vue’ 4.在下面的components:{}里写组件名 5.在app.vue顶部使用组件 第一步 先在component里新建文件,XXX.vue 第二步:打打大叔大婶 vue组建的传值:父传子、子传父、子传子 这里重点说一说父传子和子传父。 ...

Higher__的博客 407

Vue中创建私有组件的两种方式

Vue中如何创建私有组件的两种方式Vue中如何创建私有组件的两种方式1、直接在Vue实例中创建2、将私有组件的模板独立出来 Vue中如何创建私有组件的两种方式 1、直接在Vue实例中创建 (1)在new Vue({});中定义私有组件 components: { //定义实例内部私有组件 login: { template: "<h1>这是自定义的login组件</h1>" } }, (2)在对应的实例中使用 标签形式 使用定义的组件 <log

qq_39055970的博客 1583

Vue动态创建组件并插入到页面中

爱总结,爱板砖,爱生活 引言 最近在板砖途中遇到一个需要动态创建Vue组件并插入到页面上的需求,之前没有遇到过这类需求,经过一番百度搞定这个问题,在这里写下总结,作为回顾。 心得 动态创建组件依靠Vue.extend 案例引入 现在有下面这样一个需求需要用vue实现,图来… 案例分析 案例中用户通过点击新增按钮,新加下一个页签,要实现这个需求只能通过动态的创建组件,然后添加到页面中,下面来实现这个需求(页签内容部分就不做了,重点放在动态创建页签按钮) 案例实现 <div id="app" class

qq_40755381的博客 1万+
上一篇: vector数组的初始化
下一篇: Vue之组件的切换
盼盼哦
博客等级 码龄7年 5粉丝 31原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值