vue官网上可以说有我们想要的一切,先贴上通过prop传值的官网地址:通过prop向子组件传递数据

Prop是什么?

  Prop是你可以在组件上注册的一些自定义特性。当一个值传递给一个prop特性的时候,它就变成了那个组件实例的一个属性

  从这句话上面我们能看出两点

  1、prop是写在组件上的。

  2、把父组件的一个值传给子组件时,这个值通过prop转化成了这个子组件实例的一个属性。

  

  不理解第二句话没关系,看下面例子。

基础--静态传值

  1、首先创建一个Vue实例

  2、注册一个组件(这样注册组件的方式是全局注册),还记得我们第一句话吗?prop是在组件上的。因为可以是多个,所以是props。

    在props上声明的是title,在我们的template模板中使用的都是它。

  3、使用组件。

<script>
//第二步: 注册一个全局组件
Vue.component('props-component', {
// 在这个组件上声明props
props:['title'],
template:`
<div>{{title}}</div>
`
});
// 第一步:声明Vue
let vm = new Vue({
el:'#app'
});
</script>
<div id="app">
<!-- 第三步:使用组件 -->
<props-component title="props so easy"></props-component>
</div>

  这只是一个非常简单的静态传值,可在实际中我们几乎不用静态传值。

进阶--动态传值

  我刚学习vue的时候,一直不知道props的流程到底是怎么样的,也就是我是先创建组件,还是先声明一个vue实例等等。流程很重要,

  也可以说这种思想很重要。

  说下我的理解:

  1、首先我们应当知道自己创建的组件里面是什么标签啊之类的。我应用到哪个地方?具体模板应该是什么样子的?

    就像我们上面例子中的这个最简单的模板。

<div>{{title}}</div>

  2、声明组件上的props。

  3、实例上的data值应当和props声明的值对应。

  看下面的例子:

  场景:我想写一个页面的header标签组件。

  

 第一步:

// 第一步:声明Vue
let vm = new Vue({
el:'#app',
data:{ }
});

第二步:这个组件应当长什么样子?

        // 第二步:创建组件
Vue.component('my-header', {
props:['lists'],
template:`
<header>
<ul>
<li>{{lists}}</li>
</ul>
</header>
`
})

第三步:声明headerList(其实熟练的话,这步骤完全省略了)

let vm = new Vue({
el:'#app',
data:{
headerList:'首页'
}
});

第四步:使用组件 :lists="headerList"

    lists是我们在组件中props声明的,headerList是我们在根实例中声明的属性

<my-header :lists="headerList"></my-header>

这样就是一个最简单的组件传值了。

打完收工

Vue props父组件向子组件传值详解的更多相关文章

  1. vue中父级与子组件生命周期的先后顺序

    1.vue的生命周期 2.views/createrCustormer.vue为父级     <template>     <expressService />   </ ...

  2. vue中父组件使用props或者$attras向子组件中传值

    知识点:vue中使用props或者$attras向子组件中传值 (1) props传值 子组件必须注册好要传的数据() props:['id'] (2)$attrs传值 该数据在props中,没有注册 ...

  3. Vue父组件向子组件传值以及data和props的区别

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/xukongjing1/article/ ...

  4. Vue 组件&组件之间的通信 之 父组件向子组件传值

    父组件向子组件传值:父组件通过属性向下传值的方式和子组件通信: 使用步骤: 定义组件:现有自定义组件com-a.com-b,com-a是com-b的父组件: 准备获取数据:com-b要获取父组件dat ...

  5. vue+elementUI项目,父组件向子组件传值,子组件向父组件传值,父子组件互相传值。

    vue+elementUI项目,父组件向子组件传值,子组件向父组件传值,父子组件互相传值. vue 父组件与子组件相互通信 一.父组件给子组件传值 props 实现父组件向子组件传值. 1父组件里: ...

  6. vue 父组件给子组件传值 Vue父组件给子组件传方法 Vue父组件把整个实例传给子组件

    Home.vue <template> <!-- 所有的内容要被根节点包含起来 --> <div id="home"> <v-header ...

  7. Vue中父组件向子组件传值

    Vue中父组件向子组件传值 相关Html: <!DOCTYPE html> <html lang="en"> <head> <meta c ...

  8. Vue 父组件向子组件传值,传方法,传父组件整体

    父子组件传值 1.父组件调用子组件时绑定属性,例如-> :title="title" 2.子组件中在props中声明title:props:['title','msg'] 3 ...

  9. EasyDSS RTMP流媒体服务器web前端:vue组件之间的传值,父组件向子组件传值

    之前接触最多的都是EasyNVR,主要针对的都是前端的一些问题.也有接触到一些easydss流媒体服务器. 前端方面的,EasyDSS流媒体服务器与EasyNVR有着根本的不同.EasyNVR使用的是 ...

  10. EasyDSS高性能RTMP、HLS(m3u8)、HTTP-FLV、RTSP流媒体服务器web前端:vue组件之间的传值,父组件向子组件传值

    前端方面,EasyDSS流媒体服务器与EasyNVR有着根本的不同.EasyNVR使用的是传统的js来进行开发,而EasyDSS使用的是webpack+vue来进行开发的,了解vue+webpack的 ...

随机推荐

  1. Android和IOS网页不一致汇总

    1.input type=text 内容输入框的不一致,ios会默认给输入框添加自己的样式,导致在横向的输入框长度精准控制的时候,ios的输入框一般都比android上要长一点,还有内部阴影 解决此问 ...

  2. 使用MyEclipse/Eclipse修改项目名称报Can't convert argument: null!

    报错: java.lang.IllegalArgumentException: Can't convert argument: null! 方法/步骤    报错原因:使用MyEclipse修改项目名 ...

  3. HyperLedger Fabric 1.4 比特币历史(1.1)

    比特币是一种数字货币,也是一种创新思维,把人们带入到一个无中心化.完全可信任.安全可靠的全新思维领域:一个叫“中本聪”的人或组织,使我们思维产生化学反应,他在2008年10月31日发表了比特币白皮书& ...

  4. python-13常用内建模块

    1-datetime #1-获取当前日期和时间 from datetime import datetime now = datetime.now() #当前时间 print(now) #2015-05 ...

  5. Android面试收集录12 View测量、布局及绘制原理

    一.View绘制的流程框架 View的绘制是从上往下一层层迭代下来的.DecorView-->ViewGroup(--->ViewGroup)-->View ,按照这个流程从上往下, ...

  6. Eclipse 创建 Java 项目---Eclipse教程第08课

    打开新建 Java 项目向导 通过新建 Java 项目向导可以很容易的创建 Java 项目.打开向导的途径有: 通过点击 "File" 菜单然后选择 New > Java P ...

  7. 利用binlog server及Xtrabackup备份集来恢复误删表(drop)

      Preface       Today I'm gonna test how to rescue a dropped table from binlog server based on a ful ...

  8. 详解zabbix2.2.2安装部署(Server端篇)

    今天开始安装zabbix.zabbix需要LNMP或者LAMP环境.环境的搭建不在本章范围内. LNMP环境配置 Linux安装:http://www.osyunwei.com/archives/10 ...

  9. selenium界面元素定位

    一.        Selenium界面元素定位 本文元素定位以das2为例 #导入包 from selenium import  webdriver #打开火狐驱动 driver=webdriver ...

  10. [译]15-spring 自动装配

    前面的章节我们已经学习了如何使用bean元素在xml配置文件中声明一个bean.也学习了如何使用bean的子元素contructor-arg 和property进行bean的依赖项的注入. 之前bea ...