vue组件注册可以是以下哪种方式_自定义vue组件分三个步骤

vue组件注册可以是以下哪种方式_自定义vue组件分三个步骤组件的组织通常一个应用会以一棵嵌套的组件树的形式来组织:例如,你可能会有页头、侧边栏、内容区等组件,每个组件又包含了其它的像导航链接、博文之类的组件。为了能在模板中使用,这些组件必须先注册以便

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

组件的组织

通常一个应用会以一棵嵌套的组件树的形式来组织:
vue组件注册可以是以下哪种方式_自定义vue组件分三个步骤

例如,你可能会有页头、侧边栏、内容区等组件,每个组件又包含了其它的像导航链接、博文之类的组件。

为了能在模板中使用,这些组件必须先注册以便 Vue 能够识别。这里有两种组件的注册类型:全局注册局部注册。至此,我们的组件都只是通过 Vue.component 全局注册的:

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

全局注册的组件可以用在其被注册之后的任何 (通过 new Vue) 新创建的 Vue 根实例,也包括其组件树中的所有子组件的模板中。
 

组件名

在注册一个组件的时候,我们始终需要给它一个名字。比如在全局注册的时候我们已经看到了:

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

该组件名就是 Vue.component 的第一个参数
 

组件命名方式

定义组件名的方式有两种:

  • 短横线分隔命名:my-component-name
  • 首字母大写命名:MyComponentName

短横线分隔命名

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

当使用 (短横线分隔命名) 定义一个组件时,使用时例如: <my-component-name></my-component-name>
 

首字母大写命名

Vue.component('MyComponentName', { /* ... */ })

当使用 (首字母大写命名) 定义一个组件时,你在引用这个自定义元素时两种命名法都可以使用。也就是说 <my-component-name><MyComponentName> 都是可接受的。
注意,尽管如此,直接在 DOM (即非字符串的模板) 中使用时只有 短横线分隔命名 是有效的。
 

全局注册

全局注册就是使用Vue.component 来创建组件:

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

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

<div id="app">
  <component-a></component-a>
  <component-b></component-b>
  <component-c></component-c>
</div>

Vue.component('component-a', { /* ... */ })
Vue.component('component-b', { /* ... */ })
Vue.component('component-c', { /* ... */ })

new Vue({ el: '#app' })

但是全局注册实际项目中用的不多
 

局部注册

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

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

let ComponentA = {
    template: `<p>hello</p>`
  }
let ComponentB = {
  template: `<p>world</p>`
}

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

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

对于 components 对象中的每个 property 来说,其 property 名就是自定义元素的名字,其 property 值就是这个组件的选项对象。

当然实际开发过程中我们使用模块系统注册组件更多,这块后面再介绍

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

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/164857.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • pycharm远程部署_pycharm部署服务器

    pycharm远程部署_pycharm部署服务器pycharm连接远程服务器1.pycharm中打开tools->deployment->configuration…2.填写下图信息3.填写mappings信息4.add一个远程python解释器经过以上步骤,远程解释器就配置好了使用1.上传文件到服务器一般解释器配置好后,本地项目会自动上传到服务器上,当上传完成就可以通过使用服务器环境在本地运行程序了…

  • Bootstrap使用及环境搭建详解

    Bootstrap使用及环境搭建详解Bootstrap官网官网:https://getbootstrap.com/中文网:http://www.bootcss.com/为什么要使用Bootstrap?首先,观察Bootstrap文件树(下图)不难发现,文件都是我们常见的一些css、js文件。Bootstrap为我们写好测试了各种兼容、疑难问题,并构建了一套非常优秀成熟的响应式类,并及时提供了移动端优先的响应式系统,我们只需…

    2022年10月27日
  • python的标识符可以以汉字开头_Python标识符命名小知识[通俗易懂]

    python的标识符可以以汉字开头_Python标识符命名小知识[通俗易懂]简单地理解,标识符就是一个名字,就好像我们每个人都有属于自己的名字,它的主要作用就是作为变量、函数、类、模块以及其他对象的名称。Python中标识符的命名不是随意的,而是要遵守一定的命令规则,比如说:1.标识符是由字符(A~Z和a~z)、下划线和数字组成,但第一个字符不能是数字。2.标识符不能和Python中的保留字相同。有关保留字,后续章节会详细介绍。3.Python中的标识符中,不能…

  • 浅析finalize方法「建议收藏」

    浅析finalize方法「建议收藏」昨天有个小伙伴聊到java对象finalize方法。于是就想好好总结一下。咱们都知道判断一个对象是否已经死了的方法有两种:1:引用计数法2:可达性分析算法由于我们通常使用…

  • kubeadm部署高可用kubernetes

    kubeadm部署高可用kubernetes1准备环境(所有主机执行)1.1主机列表cat>>/etc/hosts<<EOF192.168.3.71k8s-master01192.168.3.72k8s-master02192.168.3.73k8s-master03192.168.3.74k8s-worker01192.168.3.75k8s-worker02192.168.3.76k8s-worker03192.168.3.77k8s-worker04

  • android service的作用_android threadlocal

    android service的作用_android threadlocalAndroid-Service和Thread

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号