一、创建并引入一个组件

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. NOIP复习篇

    NOIP复习篇---枚举 --------------------------------------------------------------------------------------- ...

  2. React Native小白入门学习路径——三

    迷茫,真的迷茫. 或许是自己努力的还不够吧,在学习的过程中遇到了很多问题,自己尝试借助搜索引擎解决问题,无奈国内的教程写的还很基础,涉及到稍微具体一点的问题时讲解就比较少更新也比较慢,绝大多数还是很早 ...

  3. (转)我是一个java class

    前言:本文主要想讲一下Java虚拟机的故事, 可能有点偏门,不妥之处欢迎留言交流. 第一回 陌生警察 我出生在C盘下面一个很深层次的目录下, 也不知道是谁把我放到这里的. 我一直在睡觉,外边的日出日落 ...

  4. BZOJ4962 : 简单的字符串

    枚举子串的中心,往两侧扩展,将两侧对应位置的字符交替写下来,得到一个字符串$S$. 若前后长度为$L$的子串循环同构,则在$S$中它们对应长度为$2L$的前缀,需要满足它可以由不超过$2$个偶回文串拼 ...

  5. 3ds max学习笔记(五)--操作工具

    一些快捷:移动,旋转,缩放右键可调整数据或者直接右键点开也可以看到或者快捷键W,E,R 复制物体:摁住shift+移动工具,往想要复制的位置拖拽(实例方式复制)亦可选择多个父对象

  6. html-webpack-plugin插件使用chunks属性时报错

    报错如下图: 原因是之前template属性使用的html模板内添加了script标签,将其删掉再使用chunks属性自动添加即可. (注释掉也不可以,必须删除!)

  7. JS_高程7.函数表达式(2)递归

    递归函数:一个函数通过名字调用自身的情况构成的.eg: //递归实现阶乘 function factorial(num){ if(num <= 1){ return 1; }else{ retu ...

  8. GMA Round 1 YGGDRASIL

    传送门 YGGDRASIL 在YGGDRASIL世界,一年有213天. Demiurge推广种植了一种植物,姑且称之为“黄金果”,它第一期生长需要140天,此后第i期生长需要的天数$a_i$满足$a_ ...

  9. PHP06

    PHP06 1. 2.可视化工具navicat: 1)查询 : select 字段名1,字段名2- from 表名; 对于可能与关键词重名的名称,建议使用反引号`括起来 可用*通配符代替字段名 sel ...

  10. .NET的前世今生与将来

    笔者注 谨以此文纪念我敬重的2016年9月17日去世的 装配脑袋 逝世两周年 让大家久等了,前后花了1年的时间,几经改版,终于完成撰写了一万字长文,回顾和展望.NET这16年来的成功与失败.最终能成文 ...