Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >vue.js 定义全局组件和局部组件的方法

vue.js 定义全局组件和局部组件的方法

作者头像
honey缘木鱼
发布于 2019-02-21 09:09:16
发布于 2019-02-21 09:09:16
3.8K00
代码可运行
举报
文章被收录于专栏:娱乐心理测试娱乐心理测试
运行总次数:0
代码可运行

组件(Component)是 Vue.js 最强大的功能之一。组件可以扩展 HTML 元素,封装可重用的代码。我们经常会自定义很多组件以满足我们不同的需求。

一.自定义全局组件

方法1.

全局组件用到的是 Vue.component(tagName,option),tagName是自定义的组件名称,option是组件构造器。具体使用方法如下:

在main.js中设置:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Vue.component('my-component', {
  template: '<button v-on:click="clickShow">切换<h1 v-show="show">全局组件的学习</h1></button>',
  data () {
    return {
      show: true
    }
  },
  methods:{
    clickShow(){
      this.show = !this.show
    }
  }
})

在组件中直接引用:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<template>
  <div>
    <my-component ></my-component>
  </div>
</template>

渲染结果为:

image

方法2.

Vue.extend(options) Vue.extend返回的是一个“扩展实例构造器”,不是具体的组件实例,也就是预设了部分选项的Vue的实例构造器,它常常服务于Vue.component用来生成组件,可以简单理解为当在模板中遇到该组件作为标签的自定义元素时,会自动调用“扩展实例构造器”来生产组件实例,并挂在到自定义元素上.

在main.js中设置:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var Profile = Vue.extend({
  template: '<button v-on:click="show=!show">切换<h1 v-show="show">全局组件的学习</h1></button>',
  data: function () {
    return {
      show: true
    }
  }
})
 Vue.component('my-component',Profile)
//Vue.component 是用来全局注册组件的方法,其作用是将通过 Vue.extend 生成的扩展实例构造器注册(命名)为一个组件

同上直接引用,渲染结果同上。

注:**data** Vue.extend()**中它必须是**函数**。**

二.局部组件使用

  1. 在文件夹conponents下创建自定义的组件MyComponent.vue,组件样式为:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
template>
  <div>
    <button v-on:click="show=!show">切换
      <h1 v-show="show">全局组件的学习</h1>
    </button>
  </div>
</template>
  1. 需要的地方引入和使用组件
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
components: {
    'my-component': MyComponent
  },
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<template>
  <div>
    <MyComponent></MyComponent>
  </div>
</template>

注: 组件内容过多情况下使用局部组件使代码更加清晰明了!

使用组件容易遇到问题:https://cloud.tencent.com/developer/article/1393996

子父组件问题:https://vip.kingdee.com/article/8622

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019.01.09 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Vue.js——组件快速入门(下篇)
上一篇我们重点介绍了组件的创建、注册和使用,熟练这几个步骤将有助于深入组件的开发。
Vincent-yuan
2020/07/08
10.2K0
Vue.js——组件快速入门(下篇)
Vue.js组件
组件: 顾名思义, 也就是组成的部件, 即整体的组成部分 这个组成部分是可以缺少的,但是其存在的意义是无可替代的 这个组成部分也是可以复用的 全局方法一: 大致可以分成三步 1.在我们引入vue.js之后,Vue会被注册为一个全局对象,我们使用对象本身的方法进行组件的创建 ------使用Vue这个全局对象的component方法进行全局注册一个组件
河湾欢儿
2018/09/06
9.1K0
Vue基础:组件--组件及组件通信
组件可以扩展 HTML 元素,封装可重用的代码。在较高层面上,组件是自定义元素,Vue.js 的编译器为它添加特殊功能。在有些情况下,组件也可以是原生 HTML 元素的形式,以is特性扩展。
奋飛
2019/08/15
1.9K0
理解Vue中的组件化开发
主要从ui界面上进行划分。例如前端的组件化,方便ui组件的调用。类似于以前的导航栏。
代码天才TTT
2023/08/01
6840
Vue.js - 组件快速入门(上)
组件系统是Vue.js其中一个重要的概念,它提供了一种抽象,让我们可以使用独立可复用的小组件来构建大型应用,任意类型的应用界面都可以抽象为一个组件树:
Vincent-yuan
2020/07/03
1.7K0
传说中 VUE 的“语法糖”到底是啥?
语法糖也译为糖衣语法,是由英国计算机科学家彼得·约翰·兰达(Peter J. Landin)发明的一个术语。指的是计算机语言中添加的一种语法,在不影响功能的情况下,添加某种简单的语法也能实现效果,这种语法对计算机没有任何影响,但是对于程序员更方便,通常增加的语法糖能够增加程序员的可读性,减少出错的机会。
呆呆
2021/12/01
5370
来吧!一文彻底搞定Vue组件!
组件是什么呢,了解组件对象的分析,Vue组件中的data属性,props传递数据的原理到底是什么。
达达前端
2019/12/16
1K0
来吧!一文彻底搞定Vue组件!
【一起来烧脑】一步学会Vue.js系统
Vuejs是一个构建数据驱动的web界面的库,通过api实现响应的数据绑定和组合的视图组件,Vue.js的核心是一个响应的数据绑定系统,它让数据与DOM保持同步非常简单,一旦创建了绑定,DOM 将与数据保持同步。
达达前端
2019/07/18
1.3K0
【一起来烧脑】一步学会Vue.js系统
Vue.js-组件 原
之前说过,我们可以通过以下方式创建一个Vue实例 new Vue({   el: '#some-element',   // 选项 })
tianyawhl
2019/04/04
5.4K0
vue 自定义MessageBox 消息框组件
通过js this.$message() , 能显示一个消息组件 ; 所需知识点:
用户9914333
2022/07/22
2.3K0
【Vue.js】017-Vue组件:基本使用、组件注册、父子组件、父子组件通信
人的大脑处理问题的能力是有限的,当人们面对复杂问题的时候,很难一次性解决,但人的大脑也天生具有将问题拆解的能力,化繁为简,逐个解决,这种复杂问题拆解成多个小问题在程序中的表现就是组件化。在程序开发中,如果我们将一个复杂页面的所有逻辑都放在一起,势必导致逻辑混乱,难以阅读,不利于后续的管理和扩展。但如果我们将页面拆解成一个个小的功能块,每个功能块完成自己独立的功能,且这些功能块能够被应用到其他页面(可复用),那么程序的开发就会非常易于管理和扩展。
訾博ZiBo
2025/01/06
2240
【Vue.js】017-Vue组件:基本使用、组件注册、父子组件、父子组件通信
开心档之Vue教程1
class 与 style 是 HTML 元素的属性,用于设置元素的样式,我们可以用 v-bind 来设置样式属性。
爱学iOS的小麦子
2023/03/02
1.8K0
【初级】个人分享Vue前端开发教程笔记
每天学习编程,让你离梦想更新一步,感谢不负每一份热爱编程的程序员,不论知识点多么奇葩,和我一起,让那一颗四处流荡的心定下来,一直走下去,加油,2021加油!
达达前端
2021/02/04
4.9K0
前端MVC Vue2学习总结(五)——表单输入绑定、组件
一、表单输入绑定 1.1、基础用法 你可以用 v-model 指令在表单控件元素上创建双向数据绑定。它会根据控件类型自动选取正确的方法来更新元素。尽管有些神奇,但 v-model 本质上不过是语法糖,它负责监听用户的输入事件以更新数据,并特别处理一些极端的例子。 v-model 并不关心表单控件初始化所生成的值。因为它会选择 Vue 实例数据来作为具体的值。 1.1.1、文本 <input v-model="message" placeholder="edit me"> <p>Message is: {{
张果
2018/03/30
3.5K0
前端MVC Vue2学习总结(五)——表单输入绑定、组件
Vue成神之路之全局API
vue.js——开发版本:包含完整的警告和调试模式 vue.min.js——生产版本:删除了警告,进行了压缩
小胖
2018/12/12
3.1K0
Vue成神之路之全局API
Vue.js入门教程-组件注册
创建Vue的组件都有三个基本步骤是 【①创建组件构造器、②注册组件和③使用组件】。
WEBING
2019/03/13
1.3K0
Vue.js入门教程-组件注册
Vue组件化 模板 语法糖 函数 父子组件通信
支持:String、Number、Boolean、Array、Object、Date、Function、Symbol
有勇气的牛排
2023/06/25
2290
06Vue.js快速入门-Vue组件化开发
老马
2018/01/05
1.2K0
vue.js之组件篇
组件(Component)是 Vue.js 最强大的功能之一,组件可以扩展 HTML 元素,封装可重用的代码。
指尖改变世界
2018/08/31
2.4K0
vue.js之组件篇
重学巩固你的Vuejs知识(上)
https://github.com/webVueBlog/interview-answe/issues/156
达达前端
2020/10/28
3.7K0
相关推荐
Vue.js——组件快速入门(下篇)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验