组件的定义注册

效果:

方法一:

        <div id="box">
<v-header></v-header>
<hr />
<br />
{{name}}
<hr />
<br />
<v-footer></v-footer>
</div>
<script>
//1.定义组件
var Header={
template:'<h2>这是一个头部组件</h2>'
}
//2.注册组件
Vue.component('v-header',Header); var Footer={
template:'<h2>这是一个底部组件</h2>'
}
Vue.component('v-footer',Footer);/*组件名称不能用html标签*/ //注意: 组件名称不能和html标签一样
var vm=new Vue({
el:'#box',
data:{
name:'hello world'
}
})
</script>

方法二:

  //定义组件和注册组件放在一起
Vue.component('v-footer',{
template:'<div><h2>这是一个底部组件</h2></div>'
})

方法三(用的最多):

            //1.定义组件
var Header={
template:'<h2>这是一个头部组件</h2>'
} //1.定义组件
var Footer={
template:'<h2>这是一个footer组件</h2>'
} var vm=new Vue({
el:'#box',
data:{
name:'ahah'
},
components:{
//2.注册组件
'v-header':Header,
'v-footer':Footer
}
})

方法四:

        var vm=new Vue({
el:'#box',
data:{
name:'hhahhah'
},
components:{
'v-header':{
template:'<h2>这是一个头部组件</h2>'
},
'v-footer':{
template:'<h2>这是一个footer组件</h2>'
}
}
})

 vue组件的定义注册-深入

        <div id="box">
<v-header></v-header>
<hr />
<br />
{{name}}
<hr />
<br />
<v-footer></v-footer>
</div>
<template id="header">
<div>
<h2>这是一个头部组件--{{msg}}</h2>
<div class="button" @click="setData()">
点击改变msg
</div>
</div>
</template>
<template id="footer">
<h2>这是一个底部组件--{{msg}}</h2>
</template>
<script>
var Header={
template:'#header',
data:function(){
return {
msg:'这是头部组件的msg'
}
},methods:{
setData:function(){
this.msg='改变头部组件的内容'
}
}
}
var Footer={
template:'#footer',
data:function(){
return {
msg:'这是底部组件的msg'
}
}
} var vm=new Vue({
el:'#box',
data:{
name:'haha'
},
components:{
'v-header':Header,
'v-footer':Footer
}
})
</script>

点击按钮之后

//------------------------------------------------------------------------------------------

vue组件 - 模板

     <div id="box">
{{msg}}
<v-header></v-header>
<br />
<br />
<v-footer></v-footer>
</div>
<script type="x-template" id="header">
<div class="header">
<h2>这是标题</h2>
<p>{{msg}}</p>
<button @click="run()">这是一个按钮</button>
</div>
</script>
<template id="footer">
<div class="footer">
<h2>这是底部组件的标题</h2>
<p>这是一个底部组件的内容</p>
<p>这是一个底部组件的内容</p>
</div>
</template>
<script>
//注意:模板里面所有的东西要被根元素包裹起来
//定义组件
var Header={
template:'#header',
data:function(){
return {
msg:'这是头部,哈哈哈'
}
},methods:{
run:function(){
alert('run');
}
}
} var Footer={
template:'#footer'
}
var vm=new Vue({
el:'#box',
data:{
msg:'hello vue'
},
components:{
//注册组件
'v-header':Header,
'v-footer':Footer
}
})
</script>

vue父子组件

介绍

        <div id="box">
{{a}}
<br />
<v-header></v-header>
</div>
<template id="header">
<div>
<h2>
我是头部组件11-{{msg}}
<br />
<v-nav></v-nav>
</h2>
</div>
</template>
<template id="nav">
<div>
<h2>这是一个nav组件--{{msg}}</h2>
</div>
</template>
<script>
//要放在组件 v-nav的定义之前
var Nav={
template:'#nav',
data:function(){
return {
msg:'我是nav内容'
}
}
}
var Header={
template:'#header',
data:function(){
return {
msg:'我是header内容'
}
},components:{
'v-nav':Nav
}
}
var vm=new Vue({
el:'#box',
data:{
a:'我是大box'
},
components:{
'v-header':Header,
}
})
</script

vue学习—组件的定义注册的更多相关文章

  1. java+springBoot+Thymeleaf+vue分页组件的定义

    导读 本篇着重介绍java开发环境下,如何写一个vue分页组件,使用到的技术点有java.springBoot.Thymeleaf等: 分页效果图 名称为vuepagerbasic的分页组件,只包含上 ...

  2. vue项目组件的全局注册

    在vue-cli项目中,我们经常会封装自己的组件,并且要在多个界面中引用它,这个时候就需要全局注册组件. 首先我们会封装自己的组件,比如twoDimensionTable文件夹下的index.vue: ...

  3. 39.VUE学习--组件,子组件中data数据的使用,x-template模板的使用,改变for循环里的某条数据里的值

    多处引用相同组件时,操作data不会相互影响 <!DOCTYPE html> <html> <head> <meta charset="utf-8& ...

  4. Vue学习—组件的学习

    1.什么是组件? 组件(Component)是 Vue.js 最强大的功能之一.组件可以扩展 HTML 元素,封装可重用的代码.在较高层面上,组件是自定义元素, Vue.js 的编译器为它添加特殊功能 ...

  5. Vue学习-组件的基本使用(局部组件)

    目录 示例代码 1.创建组件(构造器对象创建-Vue.extend) 2.注册组件 3.使用组件 4.语法糖创建并注册组件 示例代码 http://jsrun.net/H8vKp/edit 1.创建组 ...

  6. vue学习--组件之间的传值方式

    1.概述 vue由多个组件构成页面,在不同的组件中有不同的联系,组件之间的传值是十分有必要的 2.父子组件之间传值 --props和$emit 父传子:通过props 方法:子组件:props:['m ...

  7. Vue全局组件注册

    通过Vue.component(‘组件名’, {配置对象})注册全局组件 在main.js中注册全局组件 test import Vue from 'vue' import App from './A ...

  8. Vue.js 2.x:组件的定义和注册(详细的图文教程)

    本文最初发表于博客园,并在GitHub上持续更新前端的系列文章.欢迎在GitHub上关注我,一起入门和进阶前端. 以下是正文. 前言 什么是组件 组件: 组件的出现,就是为了拆分Vue实例的代码量的, ...

  9. Vue组件的定义、注册和调用

    <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>组 ...

随机推荐

  1. 【259】ucpole.dat update

    2017年2月21日 57871 +0.020896 0.007232 +0.414732 0.009212 +0.418044 0.007533 p 57872 +0.022055 0.007284 ...

  2. sql 一些偶尔会用到的写法和函数 不定时更新

    小数转整数: --round() 遵循四舍五入把原值转化为指定小数位数,如: ) -- =1 ) -- =2 --floor() 向下舍入为指定小数位数 如: SELECT floor(1.45) - ...

  3. 关于c#分支语句和分支嵌套还有变量的作用域。

    分支语句: if....else if....else 必须以 if  开头 后面加括号写入需要判断的内容. 举个栗子说明一下 if (bool类型(比较表达式))  //  他会判断括号内的条件是否 ...

  4. 35-迷宫寻宝(一)-NYOJ82

    http://acm.nyist.edu.cn/JudgeOnline/problem.php?pid=82 迷宫寻宝(一) 时间限制:1000 ms  |  内存限制:65535 KB 难度:4   ...

  5. AdapterPattern(23种设计模式之一)

    设计模式六大原则(1):单一职责原则 设计模式六大原则(2):里氏替换原则 设计模式六大原则(3):依赖倒置原则 设计模式六大原则(4):接口隔离原则 设计模式六大原则(5):迪米特法则 设计模式六大 ...

  6. 数字图像处理实验(6):PROJECT 04-02,Fourier Spectrum and Average Value 标签: 图像处理MATLABfft 2017-05-07 23:1

    实验要求: Objective: To observe the Fourier spectrum by FFT and the average value of an image. Main requ ...

  7. p2114 起床困难综合症

    传送门 分析 orz zwj 最好想到的方法是我们枚举每一位是0还是1,然后暴力求出经过n个操作之后的结果来决定这一位是0还是1 然后我们发现这种暴力的做法居然能a 但是还有更好的方法 我们只考虑开始 ...

  8. WOJ 10 精英选拔

    神仙dp,膜Claris 题意:给一个长度为$n$的数列,求出不超过k次交换后的最大连续子区间和. 发现交换后的最优答案一定是这样的(0和2的长度可以为0)             0        ...

  9. 4. 内网渗透之IPC$入侵

    IPC$连接 IPC$的概念: IPC$(Internet Process Connection)是共享”命名管道”的资源,它是为了让进程间通信而开放的命名管道,可以通过验证用户名和密码获得相应的权限 ...

  10. linux下top命令参数解释

    top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.下面详细介绍它的使用方法. top - 01:06:48 up 1:22, 1 ...