vue组件基础之父子传值

可以看出数据从后端获取过来,最外层的父组件接收数据,子组件不能直接获取,必须由父组件传递,此时使用props,并且父组件的值更新后,子组件的值也会随之更新,但是反过来通过修改子组件props来影响父组件是不行的。但是子组件可以通过$emit触发父组件的自定义事件来进行传值。
一、props
props用于父组件向子组件传值,在vue组件基础之创建与使用中使用了一个实例,这里还是如此,假如一个页面包含头部、内容、尾部三个部分,这是三个组件,而它们的父组件是App.vue组件。

现在父组件App.vue将数据传递到Vcontent.vue组件中,有三个步骤:
- 父组件中从后台获取数据
- 在父组件中使用的子组件绑定自定义属性
- 在子组件中验证传递数据的类型
- 在子组件中渲染数据
1、获取数据
现在假设已经从后台获取到了数据,父组件中已经有数据。

2、绑定自定义属性
在父组件中使用子组件(Vcontent),给子组件绑定自定义属性。

3、在子组件中验证数据类型
向将要传递的子组件中验证传递的数据类型,数据类型有和多种,根据自己写的数据类型填写:
String
Number
Boolean
Array
Object
Date
Function
Symbol

4、渲染数据
此时可以在子组件中使用传递过来的数据了

二、自定义事件
用于子组件向父组件传值,假设现在Vcontent组件中通过页面添加了一条数据,此时就需要
- 在父组件中自定义事件
- 在子组件中触发父组件中自定义事件
1、父组件自定义事件

2、触发自定义事件
事件绑定到Vcontent组件上,那么在对应的组件中来进行触发,使用this.$emit方法进行触发

总结:
- 父组件-----》子组件 传值使用props
- 子组件-----》父组件 传值使用this.emit
详情参考:https://cn.vuejs.org/v2/guide/components-props.html
vue组件基础之父子传值的更多相关文章
- Vue组件中的父子传值
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Vue组件基础用法
前面的话 组件(Component)是Vue.js最强大的功能之一.组件可以扩展HTML元素,封装可重用的代码.根据项目需求,抽象出一些组件,每个组件里包含了展现.功能和样式.每个页面,根据自己所需, ...
- Vue组件基础
<!DOCTYPE html><html> <head> <meta charset="utf-8"> ...
- vue组件封装及父子组件传值,事件处理
vue开发中,把有统一功能的部分提取出来,作为一个独立的组件,在需要使用的时候引入,可以有效减少代码冗余.难点在于如果封装,使用,如何传参,派发事件等,我会采取倒叙的方式进行说明.(本文总结于Vue2 ...
- Vue 组件基础完整示例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- vue组件基础之创建与使用
一.创建组件 <script src="vue.js"></script> <!--引入vue.js文件--> <div id=" ...
- Vue.js 学习笔记之四:Vue 组件基础
到目前为止,这个系列的笔记所展示的都是一些极为简单的单页面 Web 应用程序,并且页面上通常只有几个简单的交互元素.但在实际生产环境中,Web 应用程序的用户界面往往是由多个复杂的页面共同组成的.这时 ...
- Vue组件基础知识总结
组件系统是Vue.js其中一个重要的概念,它提供了一种抽象,让我们可以使用独立可复用的小组件来构建大型应用,任意类型的应用界面都可以抽象为一个组件树. 那么什么是组件呢?组件可以扩展HTML元素,封装 ...
- Vue 组件基础完整示例2
简介此页面可以直接复制运行,包含以下应用: Vue slot插槽使用Vue v-model使用Vue props使用父子组件数据传递element-ui使用HTML方式注册子组件,可以将子组件数据写在 ...
随机推荐
- 【牛客网-剑指offer】变态跳台阶
题目: 一只青蛙一次可以跳上1级台阶,也可以跳上2级--它也可以跳上n级.求该青蛙跳上一个n级的台阶总共有多少种跳法. 考点: 递归和循环 分析: 台阶数 跳法 1 1 2 2 3 4 4 8 5 1 ...
- idea maven springmvc mybabit 多模块管理整合
一.安装软件jdk1.7,tomcat7.0,idea,mysql,maven 二.在idea中配置jdk 1.依次点开File -->Project Structure,点击左侧标签页,点击S ...
- Shell内置命令expr
- thymeleaf onclick方法向js方法传递参数
如下图 这个错误并不影响 请放心使用
- JavaScript事件绑定的常见方式
在Javascript中,事件绑定一共有3种方式: ① 行内绑定 ② 动态绑定 ③ 事件监听 原文: https://mbd.baidu.com/newspage/data/landingsuper? ...
- 【NOI2019模拟2019.6.29】字符串(SA|SAM+主席树)
Description: 1<=n<=5e4 题解: 考虑\(f\)这个东西应该是怎样算的? 不妨建出SA,然后按height从大到小启发式合并,显然只有相邻的才可能成为最优答案.这样的只 ...
- 【LeetCode 5】 最长回文子串
题目链接 描述 [题解] 一个讲得比较好的博客地址; 感觉manacher算法的大概思路就是利用回文串左右对称的性质. 利用之前算出来的以某个点为中心的回文串.而当前要枚举的串被包括在其中. 则可以用 ...
- webpack 添加eslint代码审查
1). 添加包 npm install eslint --save-dev npm install eslint-loader --save-dev npm install eslint-plugin ...
- 关于BUG管理工具的操作总结。(禅道)
禅道是第一款国产的优秀开源项目管理软件.先进的管理思想,合理的软件架构,简洁实效的操作,优雅的代码实现,灵活的扩展机制,强大而易用的api 调用机制,多语言支持,多风格支持,搜索功能,统计功能——这一 ...
- Hadoop部署项目总结&&解析缓存文件
打包hadoop项目需要用fatjar插件进行打包,可以将第三方依赖一起编译进去,否则会找不到mapper类,或者找不到主类main方法. 解析缓存文件代码: @Override protected ...