Vue.js多重组件嵌套
Vue.js多重组件嵌套
Vue.js中提供了非常棒的组件化思想,组件提高了代码的复用性.今天我们来实现一个形如
<app>
<app-header></app-header>
<app-content></app-content>
<app-footer></app-footer>
</app>
的一个复合组件
1.js部分(component.js)
(function () {
Vue.component('app',{
template:'<div class="container"><div class="topBar">这个地方在渲染后不会被占用</div><slot></slot></div>'
});
Vue.component('app-header',{
template:'<div class="header" slot="header">this is header</div>'
});
Vue.component('app-content',{
template:'<div class="content">this is content</div>'
});
Vue.component('app-footer',{
template:'<div class="footer">this is footer</div>'
});
var myApp=new Vue({
el:'#myApp'
});
})()
代码解释:
1. Vue.component定义了一个组件,其中的'app'是组件的名称,可以在html代码中直接把它当成一个标签来使用
2. template表示这个组件实际由什么html代码组成,可以直接在解释中写,也可以写一个ID,然后再html代码中写一个template模板,模板的ID就是此处写的ID,形如:
//js代码
Vue.component('app-header',{
template:'#headerTemplate'
});
//html代码
<template id="headerTemplate">
<div class="header" slot="header">this is header</div>
</template>
3. 我们要把app-header,app-content,app-footer这些子组件都放在app里面装起来,如果app这个组件内部也有多个元素,那么Vue怎么知道你需要把这些子组件放在app的哪个位置呢?所以我们需要在app的模板中指定一个slot,意思就是,其他组件都放在它里面,而不要去填充其他元素
注意事项:实例化myApp一定要放在组件注册之后,否则会报错哦
2.html部分
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>多重组件嵌套</title>
<style>
.container{
width: 500px;height: 190px;margin: 100px auto;text-align: center;
font-family: 微软雅黑;
}
.topBar{
height: 40px;line-height: 40px;background-color: #4CD68E;
}
.header{
height: 40px;background-color: #0c60ee;color: #fff;line-height: 40px;
}
.content{
height: 50px;background-color: #2ac845;color: #333;line-height: 50px;
}
.footer{
height: 60px;background-color: #30BD8A;color: yellow;line-height: 60px;
}
</style>
<script src="js/vue.js"></script>
</head>
<body>
<div id="myApp">
<app>
<app-header></app-header>
<app-content></app-content>
<app-footer></app-footer>
</app>
</div>
</body>
<script src="js/component.js"></script>
</html>
html代码部分没有过多需要解释的,不过要注意的是引用component.js要在Vue.js以及页面渲染完成之后,否则会报错.
最后放上一张效果图

Vue.js多重组件嵌套的更多相关文章
- Vue.js之组件嵌套小demo
Vue.js之组件嵌套的小demo项目 第一步:初始化一个wabpack项目,这里不在复述.第二步:在components文件夹下新建Header.vue Footer.vue和Users.vue三个 ...
- Vue.js之组件嵌套
Vue.js中组件嵌套有两种方式 第一种:注册全局组件 例如在components文件夹下新建一个User.vue组件,然后在main.js文件中注册全局组件 //注册全局组件 Vue.compone ...
- 【Vue课堂】Vue.js 父子组件之间通信的十种方式
这篇文章介绍了Vue.js 父子组件之间通信的十种方式,不管是初学者还是已经在用 Vue 的开发者都会有所收获.无可否认,现在无论大厂还是小厂都已经用上了 Vue.js 框架,简单易上手不说,教程详尽 ...
- 【Vue.js实战案例】- Vue.js递归组件实现组织架构树和选人功能
大家好!先上图看看本次案例的整体效果. 浪奔,浪流,万里涛涛江水永不休.如果在jq时代来实这个功能简直有些噩梦了,但是自从前端思想发展到现在的以MVVM为主流的大背景下,来实现一个这样繁杂的功能简直不 ...
- Vue.js之组件传值
Vue.js之组件传值 属性传值可以从父组件到子组件,也可以从子组件到父组件. 这里讲一下从父组件到子组件的传值 还以上次的demo为例,demo里有APP.vue是父组件,Header.vue,Us ...
- vue.js 同级组件之间的值传递方法(uni-app通用)
vue.js 兄弟组件之间的值传递方法 https://blog.csdn.net/jingtian678/article/details/81634149
- Vue.js说说组件
什么是组件:组件是Vue.js最强大的功能之一.组件可以扩展HTML元素,封装可重用的代码.在较高层面上,组件是自定义的元素,Vue.js的编译器为它添加特殊功能.在有些情况下,组件也可以是原生HTM ...
- Vue.js使用-组件(上篇)
1.什么是组件 组件可以理解为定义的一个view模块,可重复使用. 2.组件使用 1)创建组件 var myComponent = Vue.extend({ template: ' this is a ...
- 用Vue.js递归组件构建一个可折叠的树形菜单
在Vue.js中一个递归组件调用的是其本身,如: Vue.component('recursive-component', { template: `<!--Invoking myself! ...
随机推荐
- Singleton in C++11 style
#include <iostream> #include <memory> #include <mutex> class SingletonOld { static ...
- codeforces 742E (二分图着色)
E. Arpa's overnight party and Mehrdad's silent entering Note that girls in Arpa's land are really at ...
- 《锋利的jQuery》(第2版)读书笔记4
第9章 jQuery Mobile jQuery Mobile是用来填补jQuery在移动设备应用上的缺憾的一个新项目. 它基于jQuery框架并使用HTML5和CSS3这些新的技术,除了能提供很多基 ...
- POJ3061 尺取法
题目大意:从给定序列里找出区间和大于等于S的最小区间的长度. 前阵子在zzuli OJ上见过类似的题,还好当时补题了.尺取法O(n) 的复杂度过掉的.尺取法:从头遍历,如果不满足条件,则将尺子尾 部增 ...
- Git查看、删除、重命名远程分支和tag(转)
转:http://zengrong.net/post/1746.htm 这篇文章记录我在使用git的过程中碰到远程分支和tag的相关内容,提纲: 查看远程分支 删除远程分支和tag 删除不存在对应远程 ...
- 无法在Web服务器上启动调试,已附加了一个调试器
运行环境:开发环境:Windows7旗舰版64bit.VisualStudio2008 With SP1.ArcEngine10.0.NetFrameWork4.0.IIS7和C#开发语言. 问题描述 ...
- js将json字符串转化成json对象的方法
js将json字符串转化成json对象的方法: JSON.parse(jsonObject)
- Java实现中文数字转换为阿拉伯数字
/** * 中文數字转阿拉伯数组[十万九千零六十 --> 109060] * @author 雪见烟寒 * @param chineseNumber * @return */ @Suppress ...
- android Handler机制详解
简单运行图: 名词解析: Message(消息):定义了一个包含描述以及随意的数据对象可以被发送到Hanlder的消息,获得消息的最好方法是Message.obtain或者Handler.o ...
- OD使用教程
OD使用教程: 跳转指令.满足才能跳转成功