一、创建并引入一个组件

1、创建组件

vue-cli中的所有组件都是存放在components文件夹下面的,所以在components文件夹下面创建一个名为First.vue的自定义组件:

<template>
<div>
<h1>{{msg}}</h1>
</div>
</template>
<script> // 1、export 表示导出,在自定义组件里面使用export default导出
export default {
// name 表示设置别名,可以不设置,建议和组件的名称一致
name:"First",
data(){
return{
msg:"First Vue"
}
}
}
</script>

2、在App.vue组件里面引用First.vue组件

1、在<script>标签里面使用import导入自定义的标签:

// 1、导入自定义组件 First即First.vue组件里面设置的name值
import First from "./components/First"

2、在export里面添加自定义组件:

 // 2、添加自定义组件
components:{
First
}

3、在<template>标签里面引入自定义组件:

<template>
<div id="app">
<img src="./assets/logo.png">
<!-- <router-view/> -->
<!--3、引用自定义组件-->
<First></First>
</div>
</template>

完整代码如下:

<template>
<div id="app">
<img src="./assets/logo.png">
<!-- <router-view/> -->
<!--3、引用自定义组件-->
<First></First>
</div>
</template> <script>
// 1、导入自定义组件 First即First.vue组件里面设置的name值
import First from "./components/First"
export default {
name: 'App',
// 2、添加自定义组件
components:{
First
}
}
</script> <style>
#app {
font-family: 'Avenir', Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-align: center;
color: #2c3e50;
margin-top: 60px;
}
</style>

效果:

二、引入嵌套组件

在上面的示例中,只是在App.vue中引入了单一的组件,如何引入嵌套组件呢?即First.vue组件里面又引用了自定义组件,这时该如何在App.vue组件里面引入呢?

1、先定义Second.vue自定义组件:

<template>
<div>
<h1>{{secondMsg}}</h1>
</div>
</template> <script>
export default {
// name 表示设置别名,可以不设置,建议和组件的名称一致
name :"Second",
data(){
return{
secondMsg:"Second vue"
}
}
}
</script>

2、在First.vue组件中引用Second.vue组件

在First.vue中引用Second.vue组件和在App.vue中引入First.vue组件是一样的,完整代码如下:

<template>
<div>
<h1>{{msg}}</h1>
<!--3、引用second.vue组件-->
<Second></Second>
</div>
</template>
<script>
// 1、使用import导入Second.vue
import Second from './Second';
// export 表示导出
export default {
// name 表示设置别名,可以不设置,建议和组件的名称一致
name:"First",
data(){
return{
msg:"First Vue"
}
},
// 2、添加自定义组件组件
components:{
Second
}
}
</script>

3、在App.vue中引入嵌套组件

First.vue中引入了Second.vue组件以后,可以把First.vue组件看成是一个组件了,所以在App.vue中引入的时候代码是一样的:

<template>
<div id="app">
<img src="./assets/logo.png">
<!-- <router-view/> -->
<!--3、引用自定义组件-->
<First></First>
</div>
</template> <script>
// 1、导入自定义组件 First即First.vue组件里面设置的name值
import First from "./components/First"
export default {
name: 'App',
// 2、添加自定义组件
components:{
First
}
}
</script> <style>
#app {
font-family: 'Avenir', Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-align: center;
color: #2c3e50;
margin-top: 60px;
}
</style>

4、效果

Vue:如何在vue-cli中创建并引入自定义组件的更多相关文章

  1. 如何在sqlite3连接中创建并调用自定义函数

    #!/user/bin/env python # @Time :2018/6/8 14:44 # @Author :PGIDYSQ #@File :CreateFunTest.py '''如何在sql ...

  2. 如何在Mirth Connect中创建和调用自定义Java代码

    0-前言 本文章将向您展示如何创建自定义Java类,将其编译/打包到JAR中,将其包含在Mirth Connect在,并在JavaScript中调用它,您可以从任何JavaScript上下文调用自定义 ...

  3. #iPhone6与iPhone6Plus适配#如何在Xcode 6中创建 PCH 文件

    本文永久链接http://www.cnblogs.com/ChenYilong/p/4008086.html   新建文件 ⌘+N选择 iOS/Mac -> Other -> PCH Fi ...

  4. 如何在eclipse jee中创建Maven project并且转换为Dynamic web project

    如何在eclipse jee中创建Maven project并且转换为Dynamic web project 注意:该文档只针对以下eclipse版本,如图 为了方便,我将我本地的压缩包放在了微云网盘 ...

  5. 如何在Ubuntu14.04中创建Python虚拟环境

    在Ubuntu14.04中安装Python相对比较容易些,最简单的安装方法就是apt-get安装了,具体的教程可以戳这篇文章:在Ubuntu14.04中如何安装Python3和切换py2和py3环境. ...

  6. 如何在Mvc 6 中创建 Web Api以及如何脱离IIS实现自我托管

    微软推出的Asp.net vNext(asp.net 5.0)的其中的一个目标就是统一mvc 和web api 的框架.接下来我就演示一下一下几个内容 1,怎么在Asp.net mvc 6 中创建简单 ...

  7. 如何在TextView类中创建超链接 Linkify

    Linkify是一个辅助类,通过RegEx样式匹配,自动地在TextView类(和继承的类)中创建超链接.符合特定的RegEx样式的文本会被转变成可点击的超链接,这些超链接隐式的调用startActi ...

  8. vue input框type=number 保留两位小数自定义组件

    第一步:自定义组件MyNumberInput.vue<template> <input class="numberInput" type="number ...

  9. vue中创建全局单文件组件/命令

    1.在 vue中如果我们使用基于vue.js编写的插件,我们可以使用Vue.use() 如在main.js中: 2.添加全局命令,让每个vue单文件组件都可以使用到: 第一步:最好建一个全局的命令文件 ...

随机推荐

  1. POJ.2175.Evacuation Plan(消圈)

    POJ \(Description\) \(n\)个建筑物,每个建筑物里有\(a_i\)个人:\(m\)个避难所,每个避难所可以容纳\(b_i\)个人. 给出每个建筑物及避难所的坐标,任意两点间的距离 ...

  2. 谈谈canvas的性能优化(主要讲缓存问题)

    声明:本文为原创文章,如需转载,请注明来源WAxes,谢谢! canvas玩多了后,就会自动的要开始考虑性能问题了.怎么优化canvas的动画呢? [使用缓存] 使用缓存也就是用离屏canvas进行预 ...

  3. windows上redis添加密码

    命令: config get requirepass config set requirepass pwd redis-server.exe redis-windows.conf. auth   pw ...

  4. PhantomJS、CasperJS安装配置图文详解

    目前网站主流的加载方式: 一种是同步加载:另一种是异步加载,也即我们常说的用ajax.对于同步加载的网站,普通的爬虫程序轻松就能搞定.但是对于那种异步请求数据的网站,通常使用selenium+Phan ...

  5. 关于numpy

    摘要:关于numpy and pandas的使用很多,最近也老用到,但是作为初学者总是模模糊糊,使用不清楚,所以就好好总结了一下,以备后用 第一部分:numpy 1.基础属性 import numpy ...

  6. python之函数第二篇

    一.名称空间与作用域 名称空间分类: 内置名称空间 import this dir(buil-in) 查看全部内置 全局名称空间 局部名称空间 在函数体内等 查询全局和局部 globals()方法可以 ...

  7. Linux命令之rpm篇

    作业五:rpm命令 1)   挂载光盘文件到/media目录 [root@localhost 桌面]# mount /dev/sr0 /media mount: /dev/sr0 写保护,将以只读方式 ...

  8. JDBC(10)—批处理

    批量处理JDBC语句,提高处理速度. 当需要成批的的插入或更新记录时可以采用java的批量更新机制,这一机制允许多条语句一次性提交给数据库批量处理,通常情况下比单独提交处理更有效率. 批量处理的方法: ...

  9. poj3617 Best Cow Line(贪心,字典序问题)

    https://vjudge.net/problem/POJ-3617 这类字符串处理字典序问题经常用到贪心, 每决定输出一个字符之前,都要前后i++,j--逐个比大小,直至比出为止. #includ ...

  10. 通过IntelliJ IDEA和Maven命令查看某个jar包是怎么引入的

    发现打包的时候引入的jar包有几百个,如果想知道某个jar包是如何引入的,可以 看Maven Projects,点开某个Module的Dependencies 一层一层展开就可以了 可以直接输入名称高 ...