什么是组件?

组件 (Component) 是 Vue.js 最强大的功能之一。组件可以扩展 HTML 元素,封装可重用的代码。在较高层面上,组件是自定义元素,Vue.js 的编译器为它添加特殊功能。在有些情况下,组件也可以是原生 HTML 元素的形式,以 is 特性扩展。
我知道vue中核心就是组件,但是组件是什么呢?组件有什么用呢?
这里来说说怎么用组件?怎么样创建自己的组件?:
1)创建自己的组件
通过vue.extend("template");通过vue构造器去拓展一个模板,然后注册,最后使用。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>进一步了解component的话法糖</title>
<script src="../vue.js"></script>
</head>
<body>
<div>这是一个全局注册的</div>
<div id="app">
<parent></parent>
</div>
</body>
</html>
<script>
var child= Vue.extend({template:'<p>this is child component</p>'});
//Vue.component("组件名",{});在注册之前会自动创建(调用vue.extend()方法 )
//这是一个全局注册(兼创建与注册)
Vue.component("parent",{//有时候我们可以省略,extend.
template:'<div>this is parent component ------ {{text}} <child-component></child-component> </div>',//局部使用
components:{
"child-component":child,//局部注册
},
//data:function(){}
data(){
return {text:'哈哈哈,我是组件内部的text'}
},
});
var vm= new Vue({
el:'#app',
data:{},
});
进阶一下:(组件内部在套组件,(components下面的components))
通过下面的例子,我就想说明一点,组件是vue构造器的拓展,所以组件可能拥有构造器的几乎所有属性(在写这篇博客前,我们没有听到这个说法,所以可能是错的,不要信)
<body>
<div>这是一个局部注册</div>
<div id="app1">
<div><button v-on:click=get>这里触发get方法</button></div>
<parent-components></parent-components>
</div>
</body>
<script>
// var child=Vue.extend({template:"<span> ------child element------</span>"});
var vp=new Vue({
el:'#app1',
data:{},
methods:{
get:function(){alert("这是构造器中get(全局)");}
},
components:{
"parent-components":{
template:"<div>---------<span> parent components</span><p><button v-on:click=get>点击触发parent的get</button></p> <div><child-component></child-component></div>--------</div>",
components:{
//局部注册再一次局部注册
"child-component":{
template:"<span> ------child <button v-on:click=get>点击触发child中的get方法</button>element------</span>",
methods:{
get:function(){
alert("这是局部注册child-component组件中get");
}
}
}
},
methods:{
get:function(){
alert("这是蝉联注册parent-components里面的方法");
}
},
},
},
});
</script>
你知道吗?一个components中可以定义多个组件:
将html,写入components是不是觉得很low呢?当template的内容太多了,是不是不堪入目呢?那我们来使用一下vue组件的语法糖吧(不知道为啥叫这个名)
值得提醒你的事:组件中的data属性要定义成一个函数,返回一个对象,
<script type="text/x-template" id="myComponent">
<div>
<span>{{msg}}</span>
</div>
</script>
<template id='myCom'>
<span>{{msg}}</span>
</template>
<div id="app">
<parent-component-script></parent-component-script>
<parent-component-tem></parent-component-tem>
</div>
var vm=new Vue({
el:"#app",
data:{},
components:{
"parent-component-script":{
template:'#myComponent',
data(){return{msg:'这里是script'};},
},
"parent-component-tem":{
template:'#myCom',
data(){return{msg:'这里是template'} }
},
},
});
你也可以更狠一点:的创建方式
值得注意的是:组件中的props中属性值,定义时是驼峰,使用时就要变为中划线
<div id="app">
<son :son-counter="counter"></son>
<p>parent:<input type="text" v-model="counter"/></p>
</div>
const son={
template:`<div>son:<input v-model="sonCounter" /></div>`,
props:{sonCounter:Number},
};
var app=new Vue({
el:'#app',
data:{
counter:0,
},
components:{
son
}
});
最后一个提醒:组件的创建要在,vue实例化之前。
总结
以上所述是小编给大家介绍的vue 怎么创建组件及组件使用方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
# vue
# 创建组件
# 组件使用
# vue 动态创建组件的两种方法
# Vue 创建组件的两种方法小结(必看)
# Vue组件创建和传值的方法
# Vue创建头部组件示例代码详解
# 一篇文章带你了解Vue组件的创建和使用
# vue组件创建的三种方式小结
# 一步步教你用Vue.js创建一个组件(附代码示例)
# 这是
# 这是一个
# 自己的
# 小编
# 的是
# 进阶
# 我是
# 多个
# 在此
# 你知道
# 较高
# 要在
# 我们可以
# 不堪入目
# 给大家
# 自定义
# 什么呢
# 时就
# 几乎所有
# 你也可以
相关文章:
建站之星安装后如何自定义网站颜色与字体?
如何通过cPanel快速搭建网站?
网站海报制作教学视频教程,有什么免费的高清可商用图片网站,用于海报设计?
专业网站设计制作公司,如何制作一个企业网站,建设网站的基本步骤有哪些?
建站VPS配置与SEO优化指南:关键词排名提升策略
购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?
郑州企业网站制作公司,郑州招聘网站有哪些?
图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?
建站10G流量真的够用吗?如何应对访问高峰?
css网站制作参考文献有哪些,易聊怎么注册?
建站主机无法访问?如何排查域名与服务器问题
如何快速重置建站主机并恢复默认配置?
如何通过VPS搭建网站快速盈利?
如何在IIS中新建站点并解决端口绑定冲突?
建站之星导航配置指南:自助建站与SEO优化全解析
一键网站制作软件,义乌购一件代发流程?
已有域名能否直接搭建网站?
建站之星如何实现五合一智能建站与营销推广?
如何用AWS免费套餐快速搭建高效网站?
建站之星如何助力网站排名飙升?揭秘高效技巧
建站之星如何修改网站生成路径?
实惠建站价格推荐:2025年高性价比自助建站套餐解析
建站之星备案流程有哪些注意事项?
成都响应式网站开发,dw怎么把手机适应页面变成网页?
建站之星展会模板:智能建站与自助搭建高效解决方案
宝塔面板创建网站无法访问?如何快速排查修复?
专业网站制作企业网站,如何制作一个企业网站,建设网站的基本步骤有哪些?
C++时间戳转换成日期时间的步骤和示例代码
如何用PHP快速搭建高效网站?分步指南
广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?
学校免费自助建站系统:智能生成+拖拽设计+多端适配
做企业网站制作流程,企业网站制作基本流程有哪些?
武汉网站制作费用多少,在武汉武昌,建面100平方左右的房子,想装暖气片,费用大概是多少啊?
湖南网站制作公司,湖南上善若水科技有限公司做什么的?
公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?
如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?
东莞专业网站制作公司有哪些,东莞招聘网站哪个好?
广东企业建站网站优化与SEO营销核心策略指南
建站主机选择指南:服务器配置与SEO优化实战技巧
建站之星导航菜单设置与功能模块配置全攻略
建站之星代理如何优化在线客服效率?
深圳网站制作的公司有哪些,dido官方网站?
专业商城网站制作公司有哪些,pi商城官网是哪个?
高防服务器租用指南:配置选择与快速部署攻略
音乐网站服务器如何优化API响应速度?
c# Task.Yield 的作用是什么 它和Task.Delay(1)有区别吗
建站之星如何配置系统实现高效建站?
教程网站设计制作软件,怎么创建自己的一个网站?
建站之星免费版是否永久可用?
西安制作网站公司有哪些,西安货运司机用的最多的app或者网站是什么?
*请认真填写需求信息,我们会在24小时内与您取得联系。