vue入门教程之-组件
vue入门教程之-组件
欢迎关注博主公众号「java大师」, 专注于分享Java领域干货文章, 关注回复「资源」, 免费领取全网最热的Java架构师学习PDF, 转载请注明出处 https://www.javaman.cn/vue/vue-component
上一节我们讲了vue的属性、事件和双向绑定,今天我们来讲一下vue的组件component
1、为什么要用组件?
将一个页面的业务处理逻辑放在一起,处理和维护起来就会很复杂,不利于后续管理和扩展,这个时候就需要使用组件化来分门别类的管理逻辑·

2、全局组件
全局组件顾名思义,一次定义注册后Vue实例的作用范围内均可使用该组件
(1) html代码
<div id="app">
<com1></com1>
</div>
<div id="app2">
<com1></com1>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
<script>
//定义一个com1组件,该组件的定义必须要在vm实例的上面定义,如果放在最下面则会报错!!!
//该组件在app和app2实例范围内均有效
Vue.component('com1',{
template:'<p>我是组件</p>'
})
var vm = new Vue({
el:"#app"
});
var vm2 = new Vue({
el:"#app2"
})
</script>
(2)运行结果如下图:

3、局部组件
局部组件顾名思义,只可在定义的Vue实例的作用范围内均可使用该组件
(1) html代码
<div id="app">
<com2></com2>
</div>
<!-- app2内不存在com2,此结果不会打印 -->
<div id="app2">
<com2</com2>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
<script>
定义在vm实例内的components组件com2,作用域只在app内
var vm = new Vue({
el:"#app",
components:{
'com2':{
template:'<p>我是局部组件</p>'
}
}
});
</script>
(2)运行结果如下图:

4、通过Prop向子组件传递数据
组件增加props属性,组件新增属性传递给component的props达到传值的效果
(1) html代码
<div id="app">
<h3>所学的课程:</h3>
<!-- v-bind绑定course和index属性,传递给study-course的props属性传入template模板中 -->
<study-course v-for="(item,index) in courses" v-bind:course="item" v-bind:index="index"></study-course>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
<script>
Vue.component('study-course',{
props:['index','course'],
template:'<li>{{index+1}}-----{{course}}</li>'
})
var vm = new Vue({
el:"#app",
data:{
//通过v-for传递给study-course在模板中进行解析
courses:['语文','数学','外语']
}
});
</script>
(2)运行结果如下图:

5、新建template模板
在idea中添加vue的component组件,单独将组件定义在一个文件中,在复用界面进行调用
(1) idea中添加vue的插件

(2) 创建一个vue-component

(2) html代码,新建zujian.vue文件,就创建了一个my-temp的模板并注册
<template id="my-temp">
<p>我是单独的组件模板</p>
</template>
<script>
Vue.component('zujian',{
template:'#my-temp'
})
</script>
<style scoped>
</style>
(2).vue文件需要通过npm运行,后面我们在单独讲运行方式
vue入门教程之-组件的更多相关文章
- vue入门教程 (vueJS2.X)
vue入门教程vueJS2.X 写在前面 看完此教程可以达到:能看懂并能修改简单的vue项目. 看的过程中,请把所有例子都放到html文件中跑一遍. Vue.js 是什么 Vue.js(读音 /vju ...
- wepack+sass+vue 入门教程(三)
十一.安装sass文件转换为css需要的相关依赖包 npm install --save-dev sass-loader style-loader css-loader loader的作用是辅助web ...
- wepack+sass+vue 入门教程(二)
六.新建webpack配置文件 webpack.config.js 文件整体框架内容如下,后续会详细说明每个配置项的配置 webpack.config.js直接放在项目demo目录下 module.e ...
- wepack+sass+vue 入门教程(一)
一.安装node.js node.js是基础,必须先安装.而且最新版的node.js,已经集成了npm. 下载地址 node安装,一路按默认即可. 二.全局安装webpack npm install ...
- webpack+sass+vue 入门教程(三)
十一.安装sass文件转换为css需要的相关依赖包 npm install --save-dev sass-loader style-loader css-loader loader的作用是辅助web ...
- webpack+sass+vue 入门教程(二)
六.新建webpack配置文件 webpack.config.js 文件整体框架内容如下,后续会详细说明每个配置项的配置 webpack.config.js直接放在项目demo目录下 module.e ...
- webpack+sass+vue 入门教程(一)
一.安装node.js node.js是基础,必须先安装.而且最新版的node.js,已经集成了npm. 下载地址 node安装,一路按默认即可. 二.全局安装webpack npm install ...
- VUE 入门教程
http://www.runoob.com/w3cnote/vue-js-quickstart.html VUE安装教程 https://segmentfault.com/a/119000001218 ...
- vue入门:(组件)
模板:(template)模板声明了数据和最终展现给用户的DOM之间的映射关系. 初始数据:(data)一个组件的初始数据状态.对于可复用的组件来说,通常是私有的状态. 接收外部参数:(props)组 ...
- Vue入门教程(2)
小白入门学习vue和vue实例,vue总结 这就是我脑海中的 Vue 知识体系: 一句话概况了 Vue 通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件 Vue 的创建 我们的学习目的肯定 ...
随机推荐
- 设计模式-2 简单工厂模式Factory Method
设计模式-2 简单工厂模式 1 意图: 定义一个用户创建对象的接口,让子类决定实例化那个类.Factory Method使一个类的实例化延迟到其子类 使用场景:将一个类的实例化延迟到其子类结构: 优缺 ...
- OpenGL的深度缓冲
如果我们想要在三维空间里画两个正方形:一个红色的,一个绿色的,而且从人眼的观察角度看,绿色正方形在红色正方形的后面,最后看上去应该是这样的: 要点在于,从观察者的角度看,绿色正方形在红色正方形的后 ...
- Delphi dbgrideh颜色设置
DBGridEh中分行分列.单元格的颜色设置(1)分行不同颜色设置:在DBGridEh1DrawColumnCell中写: if ADOQuery1.RecNo mod 2=0 then begin ...
- Excel-批量填充数字
1.一般情况下,都是使用鼠标左右键拖动来实现数据的填充的 2.但是填充1200列,下拉拖动就非常麻烦,可以首先定位到A200. 在屏幕左侧中央处找到剪切板下方的"A1"字样,鼠标单 ...
- NC20139 [JLOI2014]松鼠的新家
题目链接 题目 题目描述 松鼠的新家是一棵树,前几天刚刚装修了新家,新家有n个房间,并且有n-1根树枝连接,每个房间都可以相互到达,且俩个房间之间的路线都是唯一的.天哪,他居然真的住在"树& ...
- NC50243 小木棍
题目链接 题目 题目描述 乔治有一些同样长的小木棍,他把这些木棍随意砍成几段,直到每段的长都不超过50.现在,他想把小木棍拼接成原来的样子,但是却忘记了自己开始时有多少根木棍和它们的长度.给出每段小木 ...
- spring boot中使用定时任务
1.在主类上添加EnableScheduling注解 package com.laoxu.gamedog; import org.springframework.boot.SpringApplicat ...
- go语言变量的零值和nil
Go语言中无论是全局变量还是局部变量,只要定义了一个变量都有默认的0值 int/int8/int16/int32/int64/uint/uint8/uint16/uint32/uint64/byte/ ...
- select_for_update悲观锁
例子,银行存款和撤销方法 1.用户A提取帐户 - 余额为100 $. 2.用户B提取帐户 - 余额为100 $. 3.用户B退出30 $ - 余额更新为100 $ - 30 $ = 70 $. 4.用 ...
- 推荐10款C#开源好用的Windows软件
DevToys 项目简介:DevToys是一个专门为开发者设计的Windows工具箱,完全支持离线运行,无需使用许多不真实的网站来处理你的数据,常用功能有:格式化(支持 JSON.SQL.XML).J ...