(1)组件通信

父组件向子组件传递数据。这个正向传递数据的过程就是通过props来实现的。

两者区别:props中声明的数据与组件data函数return返回的数据的主要区别就是props来自父级,而data中是组件自己的数据,作用域是组件本身,这两种数据都可以在模板template、计算属性computed、方法methods中使用。

<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>demo1</title>
<script type="text/javascript" src="vue-2.6.9.min.js"></script>
</head>
<body>
<div id="demo">
<textarea v-model="message" v-bind:placeholder="placeholder"></textarea>
<demo-component v-bind:message="message"></demo-component>
</div>
<script type="text/javascript">
Vue.component('demo-component',{
props:['message'],
template:`
<div class="demo-area">
{{message}}
</div>
`
});
var demo = new Vue({
el:'#demo',
data:{
message:'来自父级的数据',
placeholder:'请输入'
}
})
</script>
</body>
</html>

(2)单向数据流

业务中会经常遇到两种需要改变props的情况,一种是父组件传递初始值进来,子组件将它作为初始值保存起来,在自己的作用域下可以随意使用和修改。这种情况可以在组件data中再声明一个数据,引用父组件的prop

  <div id="demo">
<demo-component v-bind:initcount="initcount"></demo-component>
</div>
<script type="text/javascript">
Vue.component('demo-component',{
props:['initcount'],
template:`
<div class="demo-area">
{{count}}
</div>
`,
data:function(){
return {
count:this.initcount
}
}
});
var demo = new Vue({
el:'#demo',
data:{
'initcount':'1'
}
});
</script>

组件里声明了数据count,它在组件初始化时会获取来自父级组件的initcount,之后便与之无关,只用维护count,这样就可以避免直接操作initcount。

(3)另一种情况就是prop作为需要被转变的原始值传入,这种情况用计算属性即可。

  <div id="demo">
<demo-component v-bind:width="width"></demo-component>
</div>
<script type="text/javascript">
Vue.component('demo-component',{
props:['width'],
template:`
<div class="demo-area" v-bind:style="style">
组件内容
</div>
`,
computed:{
style(){
return {width:this.width+'px'};
}
}
});
var demo = new Vue({
el:'#demo',
data:{
'width':
}
});
</script>

.

vue之props传值与单向数据流的更多相关文章

  1. vue第十八单元(单向数据流 vuex状态管理)

    第十八单元(单向数据流 vuex状态管理) #课程目标 1.理解什么是数据管理模式 2.什么是vuex 3.什么时候使用vuex 4.vuex安装及工作原理 5.vuex语法 #知识点 1.首先来看下 ...

  2. Vue props 单向数据流

    1.props通信 注意:DOM模板的驼峰命名props要转为短横分割命名. <!DOCTYPE html> <html lang="zh"> <he ...

  3. Vue 父子组件传值 props

    1.Vue 的渲染周期: vue 如何实现响应式追踪. 父子组件通信有很多方式,今天单独聊下props 的方式.我们通过查找官方文档很容发现,props传值有静态和动态两种传值方式. 当然props ...

  4. Vue 组件&组件之间的通信 之 单向数据流

    单向数据流:父组件值的更新,会影响到子组件,反之则不行: 修改子组件的值: 局部数据:在子组件中定义新的数据,将父组件传过来的值赋值给新定义的数据,之后操作这个新数据: 如果对数据进行简单的操作,可以 ...

  5. vue第九单元(非父子通信 events 单向数据流)

    第九单元(非父子通信 events 单向数据流) #课程目标 了解非父子组件通信的原理,熟练实现非父子组件间的通信(重点) 了解单向数据流的含义,并且明白单向数据流的好处 #知识点 #1.非父子组件间 ...

  6. vue 单向数据流 & 双向绑定

    在react中是单向数据绑定,而在vue中的特色是双向数据绑定.但是其实就我个人的理解是: 其实无论是vue还是react其实还是提倡单向数据流去管理状态,这一点在vuex和redux状态管理器上体现 ...

  7. 关于Vue中props的详解

    看一下官方文档: 组件实例的作用域是孤立的.这意味着不能 (也不应该) 在子组件的模板内直接引用父组件的数据.父组件的数据需要通过 prop 才能下发到子组件中. 也就是props是子组件访问父组件数 ...

  8. vue-父子组件之传值和单项数据流问题

    前言 我们知道 vue 中父子组件的核心概念是单项数据流问题,props 是单项传递的.那究竟什么是单项数据流问题,这篇文章来总结一下关于这个知识点的学习笔记. 正文 1.父组件传值给子组件 < ...

  9. React 精要面试题讲解(一) 单向数据流

    react 单向数据流概念 'react框架是怎样的数据流向?'||'react单向数据流是怎样的概念 ?' 解答这个问题之前,我们首先得知道,js框架是个怎样的概念. 框架:具备一定**编程思想** ...

随机推荐

  1. ML.NET

    ML.NET http://www.cnblogs.com/BeanHsiang/category/1218714.html 随笔分类 - 使用ML.NET实现NBA得分预测 摘要: 本文将介绍一种特 ...

  2. GIT+Gitolite+Gerrit 环境搭建 ***

    系统环境:Ubuntu12.04 服务器上安装git+gitolite+gitweb root@server: 为搭建git服务器终端,假设ID为 192.168.199.117 或域名为: http ...

  3. PHP tripos()函数使用需要注意的问题

    tripos() 函数返回字符串在另一个字符串中第一次出现的位置.这在PHP字符串匹配与替换的时候常用到,但是很多时候我们总感觉当查找的字符串在源字符串的开头的时候总会不好使. 原来stripos() ...

  4. Postgresql个人维护库时,出现有用户在连接又找不到这个用户是谁的强制中断连接的方法;

    方法一: 去PostgreSQL目录下/data/pgdata/9.4,找到pg_hba.conf, 修改pg_hba.conf的白名单IP (修改前,最好服务已停止,我是这么操作的) # IPv4 ...

  5. mybatis基础学习5-一对多和多对多(简写)

    1:建实体类 建mysql表

  6. Uix Kit 快速建站前端开发套件-工具箱

    这个产品维护已经有一年了(由于业务需求不同,目前没有做中文版,产品本身是针对国外网站),自己本身是做UI出生,开发只是业余爱好,仅仅作为平时工作的需要.杂七杂八会一些前后端开发.并非职业码农! 我是一 ...

  7. 购买阿里云ECS+安装宝塔面板+Mac下怎么连接阿里云ECS服务器

    1.购买阿里云ECS 2.重置实例密码 这个有点对用户不友好,实际意思就是设置服务器的root登录密码 3.配置安全组放行端口 因为服务器需要从宝塔网站download安装包,包括一些常用的服务比如S ...

  8. JS 数据类型入门与typeof操作符

    标准的数据类型划分: 基本类型: number(数字).string(字符串).undefined.boolean(布尔值).null(空对象) //空对象与非空对象,最大的区别就是不能进行属性操作 ...

  9. mybatis 批量insert,update报错 The error occurred while setting parameters

    数据脚本执行正常,但是报错,搜索关键信息 The error occurred while setting parameters ,发现了解决帖子: http://blog.csdn.net/jing ...

  10. 基于CentOS6.5下Suricata(一款高性能的网络IDS、IPS和网络安全监控引擎)的搭建(图文详解)(博主推荐)

    不多说,直接上干货! 为什么,要写这篇论文? 是因为,目前科研的我,正值研三,致力于网络安全.大数据.机器学习研究领域! 论文方向的需要,同时不局限于真实物理环境机器实验室的攻防环境.也不局限于真实物 ...