vue组件相关内容

说明

组件(Component)是 Vue.js 最强大的功能之一,组件可以扩展 HTML 元素,封装可重用的代码,组件系统让我们可以用独立可复用的小组件来构建大型应用。

定义方法

这是官网给出的一种定义组件的方法

一下是我目前使用的方法,以下内容都是按照此方法定义组件的。(因为这样可以使模板和组件分开)

定义组件前首先要定义一个模板,这是定义模板的一种方式

这是定义模板的另一种方式

接下来定义组件

这里有几个注意事项:

1.定义模板时,模板里只能有一个顶层标签。

2.定义组件时,不能使用H5标签。

3.模板和组件之间用id相关联。

4.组件的数据data是个函数。

5.组件的数据在自己的模板里使用。

定义好模板和组件时,我们要使用组件,首先要在父组件中注册这个组件,firsttemp就是我注册的组件,然后在父组件的模板中以标签的形式调用。

对以上内容做个小总结:

每个组件都有自己的模板,组件和模板之间用id相关联,每个组件下面的数据只能在自己的模板中使用,如果使用这个组件,需要把它注册在一个父组件下,在父组件的模板中以标签的形式调用。

组件的生命周期(钩子函数)

生命周期:组件本省是不存在,是人为创建的,这种从无到有到销毁的过程叫生命周期。

三个步骤六个过程

Created  创造 beforeCreated    created

Mounted 加载 beforeMounted   mounted

Destroy  销毁 beforeDestroy   destroyed

数据交互

GET

这里有一个this指向的问题,这是一种解决方式,用变量储存this

这是第二种解决方式

get传参

POST

大家会发现,数据出不来,因为这个作者他忽略了所有后台的传参的本质是字符串,

get是通过url中的query对象来传,而post是通过协议中的一个body属性来传,但是不管是什么方式,本质都是字符串。

强制将参数变成字符串

以上就是axios的get和post数据交互。

嵌套组件

只要在父组件中用标签的形式调用子组件就可以了。

组件通信

第一种是父组件向子组件传数据

每一个组件都有一个props属性,这是该组件的组件标签上的所有属性构成的集合。

父组件和子组件之间靠子组件标签取得联系,在子组件标签上的属性可以在子组件的props属性接受到。

第二种是子组件向父组件传递数据

这里有一个refs属性,是在组件模板下,所有子组件标签构成的集合。

如果父组件想要获得子组件的信息。

第一步:

给子组件添加ref属性。

第二步:

在父组件下使用this.$refs 就可以看到子组件标签的所有信息。

自定义事件 

除了默认设置的核心指令( v-model 和 v-show ), Vue 也允许注册自定义指令。

在子组件下定义一个事件,用于自定义事件,我们用到的是this.$emit

首先我们在子组件上绑定了一个click事件,这里用到的this.$emit有两个参数,第一个参数是自定义事件名,第二个参数是想要传递的数据。

然后我们在子组件标签上用v-on 或者 @ 来接收自定义的文件

接下来我们在父组件上写下事件的方法

这里的参数res就是接收到的数据。

原文地址:https://www.cnblogs.com/cooldown/p/9362688.html

时间: 2024-08-30 14:42:50

vue组件相关内容的相关文章

Vue组件相关

一  组建的注册 1.全局注册 1 <div id="app"> 2 <wdb></wdb> 3 </div> 4 <hr> 5 <div id="app1"> 6 <wdb></wdb> 7 <wdb></wdb> 8 </div> 9 <script> 10 Vue.component('wdb',{ 11 templa

Vue学习笔记入门篇——组件的内容分发(slot)

本文为转载,原文:Vue学习笔记入门篇--组件的内容分发(slot) 介绍 为了让组件可以组合,我们需要一种方式来混合父组件的内容与子组件自己的模板.这个过程被称为 内容分发 (或 "transclusion" 如果你熟悉 Angular).Vue.js 实现了一个内容分发 API,使用特殊的 'slot' 元素作为原始内容的插槽. 编译作用域 在深入内容分发 API 之前,我们先明确内容在哪个作用域里编译.假定模板为: <child-component> {{ messa

关于vue组件的一个小结

用vue进行开发到目前为止也有将近一年的时间了,在项目技术选型的时候隔壁组选 react的时候我们坚持使用vue作为前端的开发框架.虽然两者思想上的差异不大,但是vue的语法在代码的可读性以及后期的维护成本更加的适合,而且最近看到Apache对react的相关许可限制:这里不讨论react和vue的对比哪个好,技术框架没有最好的,只有适合项目才是最好的. 进入主题....... 组件,是vue的核心之一. 我们可以把页面各个子模块看成一个组件,可以独立拆分出来.这样不仅维护变得简单了,而且代码复

Vue组件开发分享

在开始本文之前,你可能需要先了解以下相关内容: Vue.js  一款高性能轻量化的MVVM框架 Webpack  前端模块化代码构建工具 Vue组件介绍 基于vue.js高效的双向数据绑定特性,让我们在开发高可用组件时可以更加专注于数据逻辑开发: 忘记DOM操作,忘记事件绑定,让开发的专注力集中于数据上: 1.定义需要使用的数据及类型 2.在合适的时机更新数据 3.在模板上绑定数据与视图的映射关系 4.开放对外调用接口 代码 https://github.com/xiaoyunchen/vue-

JS组件系列——又一款MVVM组件:Vue(二:构建自己的Vue组件)

阅读目录 一.为什么组件很重要 二.Vue里面的组件基础知识 1.组件的概念 2.组件原理 3.组件使用 三.封装自己的Component 1.使用Component封装bootstrapTable 2.封装select 3.查看其他Vue框架源码 四.总结 正文 前言:转眼距离上篇 JS组件系列--又一款MVVM组件:Vue(一:30分钟搞定前端增删改查) 已有好几个月了,今天打算将它捡起来,发现好久不用,Vue相关技术点都生疏不少.经过这几个月的时间,Vue的发展也是异常迅猛,不过这好像和博

【Vue】详解Vue组件系统

Vue渲染的两大基础方式 new 一个Vue的实例 这个我们一般会使用在挂载根节点这一初始化操作上: new Vue({ el: '#app' }) 注册组件并使用 通过Vue.component()去注册一个组件,你就可以全局地使用它了,具体体现在每个被new的 Vue 实例/注册组件, 的template选项属性或者对应的DOM模板中,去直接使用 注册组件 全局注册 例如,放在通过new创建的Vue实例当中: Vue.component('my-component', { template:

Vue的相关知识点

Vue近几年来特别的受关注,三年前的时候angularJS霸占前端JS框架市场很长时间,接着react框架横空出世,因为它有一个特性是虚拟DOM,从性能上碾轧angularJS,这个时候,vue1.0悄悄的问世了,它的优雅,轻便也吸引了一部分用户,开始收到关注,16年中旬,VUE2.0问世,这个时候vue不管从性能上,还是从成本上都隐隐超过了react,火的一塌糊涂,这个时候,angular开发团队也开发了angular2.0版本,并且更名为angular,吸收了react.vue的优点,加上a

写一个vue组件

写一个vue组件 我下面写的是以.vue结尾的单文件组件的写法,是基于webpack构建的项目.如果还不知道怎么用webpack构建一个vue的工程的,可以移步到vue-cli. 一个完整的vue组件会包括一下三个部分: template:模板 js: 逻辑 css : 样式 每个组件都有属于自己的模板,js和样式.如果将一个页面比喻成一间房子的话,组件就是房子里的客厅.卧室.厨房.厕所.如果把厨房单独拿出来的话,组件又可以是刀.油烟机...等等.就是说页面是由组件构成的,而组件也可以是组件构成

vue组件通信的几种方式

最近用vue开发项目,记录一下vue组件间通信几种方式 第一种,父子组件通信 一.父组件向子组件传值 1.创建子组件,在src/components/文件夹下新建一个Child.vue 2.Child.vue的中创建props,然后创建一个名为message的属性 child.png 3.在App.vue中注册Child组件,并在template中加入child标签,标签中添加message属性并赋值 App2.png 4.保存修改的文件,查看浏览器 browser.png 5.我们依然可以对m