vue组件入门知识全梳理
组件
概念:template是入口组件,那么挂载在template下的组件是入口组件的子组件
局部组件
三步口诀:声子,挂子,用子
- 声明一个局部组件,变量名首字母大写(为了和H5标签做区分),里面的内容和vue实例化对象的内容相似,但是不需要el,data必须是一个函数,函数返回一个对象
- 把组件挂载到入口文件的components对象中。
- 在入口文件的template中使用,可以是双闭合标签也可以是单闭合标签
全局组件
Vue.component(name,options)
第一个参数是组件的名称
第二个参数是组件的对象
注意全局组件要在创建Vue实例化对象前,否则会报错
// 全局组件(要在创建Vue实例之前)
Vue.component('Vbtn', {
template: `<button>全局按钮组件</button>`
})
// 1、创建一个入口组件
// 2、创建头部组件,侧边栏组件和内容组件
var Heard = {
template: `
<div>
<h2>我是头部组件</h2>
<Vbtn></Vbtn>
</div>
`
}
var Aside = {
template: `
<div>我是侧边栏组件</div>
`
}
var Content = {
template: `
<div>我是内容组件</div>
`
}
var App = {
template: `
<div class="main">
<Heard class = "heaed"></Heard>
<div class="main2">
<Aside class="aside"></Aside>
<Content class="content"/>
</div>
</div>
`,
components: {
Heard,
Aside,
Content
}
}
new Vue({
el: "#app",
data() {
return {
msg: "这是测试"
}
},
template: `
<App></App>
`,
components: {
App
}
});
组件深入
问:为什么要通过父亲获取数据,在传递到子组件呢?
答:通过父亲向后端获取数据,然后在分发到各组件可以减少后端的交互,不然各个组件都向后端发送请求影响性能
见下图:
父子组件传值(父传子)
1、父 用子 时通过 绑定自定义属性 传递,
2、子要 声明 props:['属性']接收父绑定的自定义属性
3、收到就是自己的随便用
在template中直接使用 在js中this.属性名
小补充:绑定自定义属性时:常量传递直接用,变量传递加冒号
总结父传子
父用子:先声子、挂子、用子
父传子:父传子(属性)、子声明(接收)、子使用
子传父
1、父 用子 绑定 自定义事件
2、子触发自定义事件:this.$emit()
第一个参数是**自定义事件名** 第二个参数是**传递进去的值** 
全局组件的数据传递 1、通过VUE内置组件slot分发内容
原因:如果不使用slot无法修改全局组件的内容
作用:slot元素作为承载分发内容的出口
2、父子传值
自定义属性传递常量直接使用不需要加冒号
如果要触发原生的事件需要通过 @原生事件名.native调用
3、具名插槽
在子组件中声明使用vue的内置组件:
<slot name = "one"></slot>
父组件中调用
<h2 slot= "one"></h2>
这样做的目的:可以一条数据一个坑,数据不会乱了
附加功能
1、过滤器filters
1、作用:对当前数据添油加醋
2、语法:声明在组件内使用filters对象,返回一个函数,函数一定要有返回值
3、调用:template中调用过滤器:数据属性|过滤器名字
var Content = {
template: `
<div>
<input type = number v-model = "msg"/>
<h2>{{msg|RmbData}}</h2>
</div>
`,
data(){
return{
msg:10
}
},
filters:{
RmbData(value){
return '$'+value
}
}
}
生命周期
总结
到此这篇关于vue组件入门知识全梳理的文章就介绍到这了,更多相关vue组件知识内容请搜索狼蚁SEO以前的文章或继续浏览狼蚁网站SEO优化的相关文章希望大家以后多多支持狼蚁SEO!
编程语言
- ThinkPad 笔记本如何调节LCD屏幕亮度
- Dreamweaver制作网页打开特效教程
- Win10 Mobile 10586升级后无限重启怎么办 硬重启帮您
- Win8系统提示音频设备有问题有一个或多个音频服
- Xbox One版Win10首个预览版9月份发布
- 如何在textarea文本输入区内实现换行
- Win10 Build 9901系统更新 预览版新版本下载
- McAfee Framework存在远程格式串处理漏洞
- Win10家庭版今日(7月30)正式在中国官方商城开卖
- Win10 Mobile预览版更新完10536.1000后才收到10536.100
- Win10 RS2更新了什么-Win10 RS2最终版本号1704首曝
- Windows7如何查看回收站对应的文件夹有哪些方法
- Win10让Charms栏回归桌面的方法教程
- 取消Windows XP系统开机启动画面的小技巧
- win8系统怎么下载安装USB百兆网卡?
- XP系统下磁盘空间变少了怎么办?XP系统磁盘空间