vue学习日记15:普通组件的注册使用

一、概念 

(1)局部注册

(2)全局注册

 

二、实践

1.局部注册

(1)代码

步骤:创建组件 导入 注册 使用

src文件夹下面仅仅保留这两个即可 其他两个文件夹可以删除

在src下面建立components文件夹在下面新建vue文件 作为组件

HmHeader.vue

<template>
<div class="hm-header">
  我是hm-header
</div>
</template>

<script>
export default {
  name: "HmHeader"
}
</script>

<style scoped>
.hm-header{
  height: 100px;
  line-height: 100px;
  text-align: center;
  font-size: 30px;
  background-color: #fa3d48;
  color: white;
}
</style>

在App.vue里面导入和引用 

<template>
  <div class="App">
<!--    头部组件-->
    <HmHeader></HmHeader>
<!--    主题组件-->

   
<!--    底部组件-->


  </div>
<!--  -->
</template>


<script>
import HmHeader from './components/HmHeader'



export default {
  components:{
    // ‘组件名:组件对象 --组件名和组件对象一样可以省略 :组件对象
    HmHeader,
    

  }

}
</script>

<style>
.App{
  width: 600px;
  height: 700px;
  background-color: #0071cd;
  margin: 0 auto;
  padding: 20px;
}
</style>

同理其他两个组件一样的步骤

 

HmMain

<template>
  <div class="hm-main">
    我是hm-main
  </div>
</template>

<script>
export default {
  name: "HmMain"
}
</script>

<style scoped>
.hm-main{
  height: 400px;
  line-height: 200px;
  text-align: center;
  font-size: 30px;
  background-color: #e36011;
  color: white;
  margin: 20px 0;
}
</style>

HmFooter 

<template>
  <div class="hm-footer">
    我是hm-footer
  </div>
</template>

<script>
export default {
  name: "HmFooter"
}
</script>

<style scoped>
.hm-footer{
  height: 100px;
  line-height: 100px;
  text-align: center;
  font-size: 30px;
  background-color: #fa3dc4;
  color: white;
}
</style>

App.vue

<template>
  <div class="App">
<!--    头部组件-->
    <HmHeader></HmHeader>
<!--    主题组件-->

    <HmMain></HmMain>
<!--    底部组件-->
    <HmFooter></HmFooter>

  </div>
<!--  -->
</template>


<script>
import HmHeader from './components/HmHeader'
import HmMain from './components/HmMain'
import HmFooter from './components/HmFooter'


export default {
  components:{
    // ‘组件名:组件对象 --组件名和组件对象一样可以省略 :组件对象
    HmHeader,
    HmMain:HmMain,
    HmFooter:HmFooter,


  }

}
</script>

<style>
.App{
  width: 600px;
  height: 700px;
  background-color: #0071cd;
  margin: 0 auto;
  padding: 20px;
}
</style>

(2)展示

2.全局注册

(1)代码

只需要在对应的组件内添加标签

 HmButton

<template>
<button class="hm-button">通用按钮</button>
</template>

<script>
export default {
  name: "HmButton"
}
</script>

<style scoped>
.hm-button{
  height: 50px;
  line-height: 50px;
  padding: 0 20px;
  background-color: #12c71e;
  border-radius: 5px ;
  color: white;
  border: none;
  vertical-align: middle;
  cursor: pointer;
}
</style>

 全局注册

// 此文件核心作用:导入App.vue 基于App.vue创建结构渲染index.html
//1.导入vue核心包
import Vue from 'vue'
//2.导入App.vue根组件
import App from './App.vue'
//编写导入的代码,往代码的顶部编写(规范)
import HmButton from './components/HmButton'

//进行全局注册
// Vue.component(组件名,组件对象)
Vue.component('HmButton',HmButton)
//提示:当前处于什么环境(生产环境/开发环境)
Vue.config.productionTip = false

//3.vue实例化 提供render方法 -> 基于App.vue创建结构渲染index.html
new Vue({
  // el:'#app',  //作用:和$mount('选择器')作用一样,用于指定vue所管理容器
  // render: h => h(App),  //简写 createElement是形参-->h
  render:(createElement) => {
    //基于App创建元素结构
    return createElement(App)
  }
}).$mount('#app')

 只添加了<HmButton></HmButton>标签 HmFooter 同理

<template>
<div class="hm-header">
  我是hm-header
  <HmButton></HmButton>
</div>
</template>

<script>
export default {
  name: "HmHeader"
}
</script>

<style scoped>
.hm-header{
  height: 100px;
  line-height: 100px;
  text-align: center;
  font-size: 30px;
  background-color: #fa3d48;
  color: white;
}
</style>

(2)展示

三、总结

-----------------------------------------------------------------------------------------------------------------------------

注:本人是根据黑马程序员的B站教程来学习的,
链接:https://www.bilibili.com/video/BV1HV4y1a7n4/?spm_id_from=333.999.0.0

本文章仅仅是个人学习笔记 无任何其他用途 特此说明 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/477372.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

刷题DAY30 | LeetCode 332-重新安排行程 51-N皇后 37-解数独

332 重新安排行程&#xff08;hard&#xff09; 给你一份航线列表 tickets &#xff0c;其中 tickets[i] [fromi, toi] 表示飞机出发和降落的机场地点。请你对该行程进行重新规划排序。 所有这些机票都属于一个从 JFK&#xff08;肯尼迪国际机场&#xff09;出发的先生&…

Qt 不同数据类型转换

一.不同类型数据转换示例&#xff1a; #include <QGuiApplication> #include <QQmlApplicationEngine> #include <QJsonDocument> #include <QJsonObject> #include <QDebug>int main(int argc, char *argv[]) {QCoreApplication::setAttribute…

【C语言】linux内核pci_enable_device函数和_PCI_NOP宏

pci_enable_device 一、注释 static int pci_enable_device_flags(struct pci_dev *dev, unsigned long flags) {struct pci_dev *bridge;int err;int i, bars 0;/** 此时电源状态可能是未知的&#xff0c;可能是由于新启动或者设备移除调用。* 因此获取当前的电源状态&…

【Flask】Flask项目结构初识

1.前提准备 Python版本 # python 3.8.0 # 查看Python版本 python --version 安装第三方 Flask pip install flask # 如果安装失败&#xff0c;可以使用 -i&#xff0c;指定使用国内镜像源 # 清华镜像源&#xff1a;https://pypi.tuna.tsinghua.edu.cn/simple/ 检查 Flask 是…

网络: 网络层

IP地址: 分为网络号和主机号. 用来标识主机 IP协议 IP协议报文 4位版本号(version): 指定IP协议的版本, 对于IPv4来说, 就是4.4位头部长度(header length): IP头部的长度是多少个32bit, 也就是 length * 4 的字节数. 4bit表示最大的数字是15, 因此IP头部最大长度是60字节. 8…

传输介质介绍,数据链路层,MAC地址的构成和作用

简单网络 1.网卡 2.物理介质 3.协议栈 双绞线&#xff1a; UTP 非屏蔽双绞线 屏蔽式双绞线 水晶头 串口电缆&#xff1a;连接运营商 广域网一个用户接入到广域网&#xff0c;早期来讲&#xff0c;光纤 物理层&#xff1a;本质是通信&#xff0c;数据传输&#xff0c;介质产…

数据结构02:线性表 链表习题01[C++]

考研笔记整理~&#x1f95d;&#x1f95d; 之前的博文链接在此&#xff1a;数据结构02&#xff1a;线性表[顺序表链表]_线性链表-CSDN博客~&#x1f95d;&#x1f95d; 本篇作为链表的代码补充&#xff0c;供小伙伴们参考~&#x1f95d;&#x1f95d; 第1版&#xff1a;王道…

3.21小题总结

第一题&#xff1a;生日蛋糕 题解&#xff1a;这题是蛋糕结构是一层一层的&#xff0c;估计很多人很快就能想到是dfs&#xff0c;但是这题的难想的点在于 你每层的状态该怎么去确定&#xff0c;你怎么来确定每层的半径和高度是多少&#xff0c;一开始我也不知很理解&#xff0…

计算结构体的大小(结构体的内存对齐)

一&#xff1a;问题 问题所在&#xff1a;两个结构体应该都是6个字节大小&#xff0c;为什么一个12&#xff0c;一个6&#xff1f;&#xff1f;&#xff1f; 二&#xff1a;如何正确的计算结构体大小&#xff1f; 首先得掌握结构体的对齐规则&#xff1a; 第一&#xff1a; 第一…

Leetcode 994. 腐烂的橘子

心路历程&#xff1a; 一开始以为和刚做过的岛屿问题很像&#xff0c;只不过是把岛屿问题换成BFS去做&#xff0c;然后再加上一些计数的规则。结果做完后发现只能通过一半左右的测试用例&#xff0c;发现有一个逻辑错误在于&#xff0c;当腐烂的橘子位于两端时&#xff0c;可以…

约数(因数)问题(ACwing算法笔记)

869.试除法求约数 注意点&#xff1a; 1.试除法就是让i遍历的最大值到a/i。 2.约数成对存在&#xff0c;只遍历前一部分即可。 代码&#xff1a; #include<iostream> #include<queue> #include<algorithm> #include<cstring> #include<cmath>…

Go语言学习04~05 函数和面向对象编程

Go语言学习04-函数 函数是一等公民 <font color"Blue">与其他主要编程语言的差异</font> 可以有多个返回值所有参数都是值传递: slice, map, channel 会有传引用的错觉函数可以作为变量的值函数可以作为参数和返回值 学习函数式编程 可变参数 func s…

刷题28-30(力扣0322/0078/0221)

0322. 零钱兑换 题目&#xff1a; 给你一个整数数组 coins &#xff0c;表示不同面额的硬币&#xff1b;以及一个整数 amount &#xff0c;表示总金额。计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额&#xff0c;返回 -1 。你可以…

LLM - 大语言模型的分布式训练 概述

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://blog.csdn.net/caroline_wendy/article/details/136924304 大语言模型的分布式训练是一个复杂的过程&#xff0c;涉及到将大规模的计算任务分散到多个计算节点上。这样做的目的是为了处…

java面试:常见的限流算法有哪些

1 什么是限流算法 限流算法是一种用于限制流量请求的频率或速率的算法&#xff0c;其目的是在高并发或大流量请求的情况下&#xff0c;保护系统服务的安全性和可用性。限流算法可以应对热点业务带来的突发请求、调用方bug导致的突发请求以及恶意攻击请求等情况。是一种系统保护…

10W字解析 SpringBoot技术内幕文档,实战+原理齐飞,spring事务实现原理面试

第3章&#xff0c;Spring Boot构造流程源码分析&#xff0c;Spring Boot的启动非常简单&#xff0c;只需执行一个简单的main方法即可&#xff0c;但在整个main方法中&#xff0c;Spring Boot都做了些什么呢&#xff1f;本章会为大家详细讲解Spring Boot启动过程中所涉及的源代码…

《深入解析 C#》—— C# 3 部分

文章目录 第三章 C#3&#xff1a;LINQ及相关特性3.1 自动实现属性&#xff08;*&#xff09;3.2 隐式类型 var&#xff08;*&#xff09;3.3 对象和集合初始化3.3.1 对象初始化器3.3.2 集合初始化器 3.4 匿名类型3.4.1 基本语法和行为3.4.2 编译器生成类型3.4.3 匿名类型的局限…

Linux信号补充——信号捕捉处理

一、信号的捕捉处理 ​ 信号保存后会在合适的时间进行处理&#xff1b; 1.1信号处理时间 ​ 进程会在操作系统的调度下处理信号&#xff0c;操作系统只管发信号&#xff0c;即信号处理是由进程完成的&#xff1b; ​ 1.信号处理首先进程得检查是否有信号&#xff1b;2.进程…

双指针(对撞指针、快慢指针)

本博客将讲述OJ题中的常用的双指针 双指针的含义 双指针算法是一种常用的算法技巧&#xff0c;它通常用于在数组或字符串中进行快速查找、匹配、排序或移动操作。 双指针并非真的用指针实现&#xff0c;一般用两个变量来表示下标&#xff08;在后面都用指针来表示)。双指针算…

QML TextField 默认无法鼠标选中内容

1.import QtQuick.Controls 2.0 后的TextField默认无法选中内容如下图&#xff1a; 2.增加属性设置 selectByMouse: true 可以选中内容了 TextField{ selectByMouse: true text:"1234567890987654321" } 效果如下: