组件的定义注册

效果:

方法一:

        <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. 【273】利用ArcPy建立处理数据的脚本

    这个脚本可以直接运行处理程序,首先在 ArcPy 上面测试,成功后写入文件,下面的代码实现将指定文件夹内部的栅格数据进行 Calculate Statistics 操作,否则在进行专题图制作的时候会出 ...

  2. [解决问题] pandas读取csv文件报错OSError解决方案

    python用padans.csv_read函数出现OSError: Initializing from file failed 问题:文件路径中存在中文 解决办法:修改文件路径名为全英文包括文件名

  3. 关于contentprovider的几个问题

    说说ContentProvider与Android数据存储的关系? contentprovider是程序之间共享数据的唯一方式,android中没有公共数据区域的说法,每个进程启动都是不同的用户,与P ...

  4. wamp配置小细节

    1. 问题:在安装后,把phpMyadmin改密码后,再次登陆会提示出错.访问被拒绝. 原因:这是因为WampServer设置了直接登陆. 解法:修改config.inc.php文件中$cfg['Se ...

  5. 旋转矩阵(Rotate Matrix)的性质分析

    博客转载自:http://www.cnblogs.com/caster99/p/4703033.html 学过矩阵理论或者线性代数的肯定知道正交矩阵(orthogonal matrix)是一个非常好的 ...

  6. CMake 默认编译、链接选项

    查看cmake默认编译和链接的参数设置 CMakeLists.txt 文件内容: cmake_minimum_required(VERSION 3.2) message(STATUS "CM ...

  7. JavaPersistenceWithMyBatis3笔记-第2章Bootstrapping MyBatis-001XMl形式和Java形式

    一. 1.Mapper 同上 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper ...

  8. 算法Sedgewick第四版-第1章基础-1.4 Analysis of Algorithms-002如何改进算法

    1. package algorithms.analysis14; import algorithms.util.In; import algorithms.util.StdOut; /******* ...

  9. C++--VECTOR的简单应用

    在c++中,vector是一个十分有用的容器,下面对这个容器做一下总结. 1 基本操作 (1)头文件#include<vector>. (2)创建vector对象,vector<in ...

  10. C#面向对象之三大特性: 封装

    学到封装就会想到访问修饰符,说到访问修饰符,就会想到访问等级,或者说是访问能力的大小.当然也少不了默认的访问类型. C# 方法默认访问级别 : private (私有的) C# 类默认访问级别 : i ...