【Vue】-05-组件component


前言

VUE组件就是自定义html标签。
用户可以通过自定义组件实现导航栏、页眉、页脚等功能。


一、自定义组件

Vue.component("自定义名称",template: '模板内容');
自定义名称要求

1.全小写
2.驼峰式命名法要求html标签用横杠分开

全局组件

所有实例都能用全局组件。

我尝试在一个html写两个全局组件结果第二个全局组件报错,说没有正确注册。

		<div id="app">
			<my-component></my-component>
		</div>
    <script>
			Vue.component("myComponent", {
				template: '<h1>helo</h1>'
			});
    </script>

在这里插入图片描述

局部组件

我们也可以在实例选项中注册局部组件,这样组件只能在这个实例中使用:

		<div id="app">
			<!-- <my-component></my-component> -->
			<test-Props></test-Props>
		</div>
		<script>
			var testProps = {
				template: '<h1>hello,testProps</h1>'
			}
			var vm = new Vue({
				el: "#app",
				data: {},
				components: {
					"testProps": testProps
				}
			});
		</script>

在这里插入图片描述

二、属性

props属性

组件与组件之间实现数据传递,需要借助工具(如:props属性)
props传值,父传子

		<div id="app">
			<test-Props name="被传递的参数"></test-Props>
		</div>
		<script>
			var testProps = {
				props: ['name'],
				template: '<h1>{{name}}</h1>'
			}
			var vm = new Vue({
				el: "#app",
				data: {},
				components: {
					"testProps": testProps
				}
			});
		</script>

在这里插入图片描述
当然,也不一定非得是用“name”属性传递,随意任何名字只要对应即可,

		<div id="app">
			<!-- <my-component></my-component> -->
			<test-Props asd="被传递的参数"></test-Props>
		</div>
		<script>
			var testProps = {
				props: ['asd'],
				template: '<h1>{{asd}}</h1>'
			}
			var vm = new Vue({
				el: "#app",
				data: {},
				components: {
					"testProps": testProps
				}
			});
		</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

虚拟内存会梦见进程调度嘛?

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值