vue组件基础使用方法有哪些

这次给大家带来vue组件基础使用方法有哪些,vue组件基础使用的注意事项有哪些,下面就是实战案例,一起来看一下。

什么是组件

组件(Component)是对数据和方法的简单封装。web中的组件其实可以看成是页面的一个组成部分,它是一个具有独立的逻辑和功能的界面,同时又能根据规定的接口规则进行相互融和,最终成为一个完整的应用,页面就是由一个个类似这样的组成部分组成的,比如导航、列表、弹窗、下拉菜单等。页面只不过是这样组件的容器,组件自由组合形成功能完整的界面,当不需要某个组件,或者想要替换某个组件时,可以随时进行替换和删除,而不影响整个应用的运行。、前端组件化的核心思想就是将一个巨大复杂的东西拆分成粒度合理的小东西。

使用提高开发效率、方便重复使用、简化调试步骤、提升整个项目的可维护性、便于协同开发。

vue作为一个轻量级前端框架,其核心就是组件化开发。

组件可以扩展 HTML 元素,封装可重用的代码。在较高层面上,组件是自定义元素,Vue.js 的编译器为它添加特殊功能。在有些情况下,组件也可以表现为用 is 特性进行了扩展的原生 HTML 元素。

vue中,组件是可复用的 Vue 实例。因为组件是可复用的 Vue 实例,所以它们与 new Vue 接收相同的选项,例如 data、computed、watch、methods 以及生命周期钩子等。仅有的例外是像 el 这样根实例特有的选项。

组件注册

全局注册

通过 Vue.component 来创建组件:

 Vue.component('my-component-name', { // ... 选项 ... })

登录后复制

这些组件是全局注册的。也就是说它们在注册之后可以用在任何新创建的 Vue 根实例 (new Vue) 的模板中。比如:

Vue.component('component-a', { /* ... */ })Vue.component('component-b', { /* ... */ })Vue.component('component-c', { /* ... */ })new Vue({ el: '#app' })

登录后复制

在所有子组件中也是如此,也就是说这三个组件在各自内部也都可以相互使用。

局部注册

全局注册往往是不够理想的。比如,如果你使用一个像 webpack 这样的构建系统,全局注册所有的组件意味着即便你已经不再使用一个组件了,它仍然会被包含在你最终的构建结果中。这造成了用户下载的 JavaScript 的无谓的增加。

在这些情况下,你可以通过一个普通的 JavaScript 对象来定义组件:

var ComponentA = { /* ... */ }var ComponentB = { /* ... */ }var ComponentC = { /* ... */ }

登录后复制

然后在 components 选项中定义你想要使用的组件:

new Vue({ el: '#app' components: { 'component-a': ComponentA, 'component-b': ComponentB }})

登录后复制

对于 components 对象中的每个属性来说,其属性名就是自定义元素的名字,其属性值就是这个组件的选项对象。
注意局部注册的组件在其子组件中不可用。例如,如果你希望 ComponentA 在 ComponentB 中可用,则你需要这样写:

var ComponentA = { /* ... */ }var ComponentB = { components: { 'component-a': ComponentA }, // ...}

登录后复制

使用Babel和webpack中的注册组件

import ComponentA from './ComponentA.vue'export default { components: { ComponentA }, // ...}

登录后复制

注意在 ES2015+ 中,在对象中放一个类似 ComponentA 的变量名其实是 ComponentA: ComponentA 的缩写,即这个变量名同时是:

用在模板中的自定义元素的名称
包含了这个组件选项的变量名

基础组件的自动化全局注册

没看懂。

data 必须是一个函数

data: { count: 0}

登录后复制

这样定义的data中的变量是全局变量,在使用组件时,在一个组件中修改变量的值,会影响到所有组件中该变量的值。为避免变量干扰,一个组件的 data 选项必须是一个函数,因此每个实例可以维护一份被返回对象的独立的拷贝:

data: function () { return { count: 0 }}

登录后复制

动态组件

在不同组件之间进行动态切换是非常有用的,比如在一个多标签的界面里:

vue组件基础使用方法有哪些

上述内容可以通过 Vue 的 元素加一个特殊的 is 特性来实现:

登录后复制

你会注意到,如果你选择了一篇文章,切换到 Archive 标签,然后再切换回 Posts,是不会继续展示你之前选择的文章的。这是因为你每次切换新标签的时候,Vue 都创建了一个新的 currentTabComponent 实例。

重新创建动态组件的行为通常是非常有用的,但是在这个案例中,我们更希望那些标签的组件实例能够被在它们第一次被创建的时候缓存下来。为了解决这个问题,我们可以用一个 元素将其动态组件包裹起来。

 

登录后复制

可以在这里查看动态组件例子。https://jsfiddle.net/chrisvfritz/Lp20op9o/

dom标签内使用组件

有些 HTML 元素,诸如

、、 和 ,对于哪些元素可以出现在其内部是有严格限制的。而有些元素,诸如 、 和 ,只能出现在其它某些特定的元素内部。

这会导致我们使用这些有约束条件的元素时遇到一些问题。例如:

登录后复制

这个自定义组件 会被作为无效的内容提升到外部,并导致最终渲染结果出错。幸好这个特殊的 is 特性给了我们一个变通的办法:

登录后复制

相信看了本文案例你已经掌握了方法,更多精彩请关注【创想鸟】其它相关文章!

推荐阅读:

如何使用vue裁切预览组件

怎样使用JS+AJAX做出三级联动

以上就是vue组件基础使用方法有哪些的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2752137.html

(0)
上一篇 2025年3月8日 06:16:24
下一篇 2025年2月27日 01:45:00

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • Json字符串使用方法汇总

    这次给大家带来Json字符串使用方法汇总,Json字符串使用的注意事项有哪些,下面就是实战案例,一起来看一下。 下面将介绍日常中使用的三种解析json字符串的方法  1.首先,我们先看一下什么是 json 格式字符串数据,很简单,就是 js…

    编程技术 2025年3月8日
    200
  • 详细介绍JsChart组件使用方法以及功能

    jschart能够在网页上生成图标,常用于统计信息,十分好用的一个js组件。这篇文章主要介绍了jschart组件使用详解,需要的朋友可以参考下 JsChart是什么? JSChart能够在网页上生成图标,常用于统计信息,十分好用的一个JS组…

    编程技术 2025年3月8日
    200
  • Vue前端开发有哪些规范

    这次给大家带来Vue前端开发有哪些规范,Vue前端开发规范的注意事项有哪些,下面就是实战案例,一起来看一下。 基于Vue官方风格指南整理 一、强制 1. 组件名为多个单词 组件名应该始终是多个单词的,根组件 App 除外。 正例: expo…

    2025年3月8日
    200
  • 变量声明var,let.const使用有哪些区别

    这次给大家带来变量声明var,let.const使用有哪些区别,变量声明var,let.const使用的注意事项有哪些,下面就是实战案例,一起来看一下。 var声明变量的作用域限制在其声明位置的上下文中 var x = 0; // x是全局…

    编程技术 2025年3月8日
    200
  • web开发中事件处理规则有哪些

    这次给大家带来web开发中事件处理规则有哪些,web开发中事件处理的注意事项有哪些,下面就是实战案例,一起来看一下。 事件处理 我们知道事件触发时,事件对象(event对象)会作为回调参数传入事件处理程序中,举个例子: // 不好的写法fu…

    编程技术 2025年3月8日
    200
  • jQuery中isPlainObject()使用方法有哪些?

    本篇文章给大家简要分析了js中函数相关的重要知识点,对此有兴趣的朋友可以参考学习下。 要知道,在js中,引用类型是一种数据结构,包含5种引用类型,分别是Object,data,Array,re请输入代码gExp,Function。今天我们就…

    编程技术 2025年3月8日
    200
  • 在vue中使用echarts3.0自适应的方法有哪些?

    这篇文章主要介绍了vue中echarts3.0自适应,现在分享给大家,也给大家做个参考。 前端时间做一个vue的项目,echart是按需引入的如下: // 引入 ECharts 主模块import echarts from ‘echarts…

    编程技术 2025年3月8日
    200
  • javascript现继承的四种方式(代码示例)

    本篇文章给大家带来的内容是关于javascript现继承的四种方式(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 1、原型链继承 核心: 将父类的实例作为子类的原型 缺点:  父类新增原型方法/原型属性,子类都…

    编程技术 2025年3月8日
    200
  • JavaScript函数:了解基础用法和语法

    JavaScript函数是一种非常重要的编程概念,它可以帮助我们将一段可重用的代码封装起来,并在需要的时候调用它。本文将介绍JavaScript函数的基础用法和语法,并提供具体的代码示例。 在JavaScript中,函数可以通过以下方式定义…

    2025年3月7日
    200
  • 如何在Highcharts中使用图表动画效果

    Highcharts是一款功能强大的JavaScript图表库,提供了许多图表类型和自定义选项。它也拥有简单易用的动画效果,使得数据可视化更加生动。在本文中,我们将学习如何使用Highcharts中的图表动画效果,以及示范几个具体的代码示例…

    2025年3月7日
    200

发表回复

登录后才能评论