vue组件注册的方法

全局注册组件

该组件名就是Vue.component的第一个参数。
当使用 kebab-case (短横线分隔命名) 定义一个组件时,你也必须在引用这个自定义元素时使用 kebab-case,例如。

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

当使用 PascalCase (首字母大写命名) 定义一个组件时,你在引用这个自定义元素时两种命名法都可以使用。也就是说和都是可接受的。注意,尽管如此,直接在 DOM (即非字符串的模板) 中使用时只有 kebab-case 是有效的。
局部注册组件

通过一个普通的 JavaScript 对象来定义组件:

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

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

var ComponentA = { /* ... */ }
new Vue({   
el: '#app', 
  components: {   
  'component-a': ComponentA,   
 }
 })

下面是示例,代码复制可运行查看:如有错误之处还请指正,我会立即更改。

<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="UTF-8" />
		<meta name="viewport" content="width=device-width, initial-scale=1.0" />
		<title>VUE</title>
		<link rel="stylesheet" href="https://at.alicdn.com/t/font_1827109_5sbwuxueh69.css" />
		<script src="../base/vue2.6.10.js"></script>
	</head>
	<body>
		<template id="btns">
			<button @click="btns_click()"><i :class="nun?zan:befuz"></i>{{nun}}</button>
		</template>
		<template id="list">
			<div>
				<ul>
					<li>1</li>
					<li>2</li>
					<li>3</li>
					<li>4</li>
					<li>5</li>
					<li>6</li>
				</ul>
			</div>
		</template>
		<div id="app">
			<btns></btns>
			<list></list>
		</div>
	</body>
	<script>
		// 全局注册组件
		Vue.component("btns", {
			template: "#btns",
			data: function () {
				return {
					nun: 10, //当前点赞数量
					booers: false, //判断是否点赞
					zan: ["iconfont iconzan", "btn_i"], //class类名
					befuz: "iconfont iconzan", //class类名
				};
			},
			methods: {
				btns_click: function () {
					if (!this.booers) this.nun++;
					else this.nun--;
					this.booers = !this.booers;
				},
			},
		});
		var vm = new Vue({
			el: "#app",
			data: {},
			// 局部注册
			components: {
				list: {
					template: "#list",
				},
			},
			methods: {},
		});
	</script>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值