StuProps.vue:

<template><div class="props-container"><h1>我叫:{{name}}</h1><h2>我今年:{{age}}岁</h2><h3>我是:{{gender}}孩子</h3><h4>我喜欢的食物是:</h4><ul><li v-for="(item,index) in fonds" :key="index">{{item}}</li></ul></div></template><script>export default {name:'PropsCom',props:["name","age","gender","fonds"]}</script><style >.props-container {border: 1px solid orange;width: 300px;background-color: yellowgreen;padding: 10px;}h1,h2,h3,h4 {margin: 0;}</style>

App.vue:

<StuProps :name="name" :age="age" :gender="gender" :fonds="['西瓜','哈密瓜','冬瓜','傻瓜']"></StuProps><StuProps :name="'金'" :age="8" :gender="'人妖'" :fonds="['西瓜','哈密瓜','冬瓜','傻瓜']"></StuProps>data() {return {name:'战神',age:18,gender:'男',}},

页面效果图;

props的作用:

props是用于Vue中 父组件 向 子组件 传值的时候使用。

  • props的传递是单向的。
  • 不要在子组件改变props的值。

props的基本用法:

  • 在父组件中的data中定义值
  • 在子组件中使用props声明要引用哪个值
  • 父组件的template中要在子组件标签上绑定
  • 在template模板中,要使用中划线写法;在script脚本中使用小驼峰

props的定义:

 props:["name","age","gender","fonds"]

静态props:

使用props传递数据包括静态和动态两种形式

  • 在组件中,使用选项props来声明需要从父级接受的数据,props的值可以是字符串数组,也可以是对象。

动态props:

  • 有时候,传递数据并不是直接写死的,而是来自父级的动态数据,这时可以使用指令v-bind来动态绑定props 的值,当父组件的数据变化时,也会传递给子组件。
  • 传递类型:

  • 如果你要直接传递数字、布尔值、数组、对象,而且不使用v-bind指令,传递的仅是字符串类型。

单项数据流:

  • 当父组件的属性变化时,将传导给子组件,但是反过来不会。
  • 每次父组件更新时,子组件的所有 prop 都会更新为最新值。
  • 不要在子组件内部改变 prop。如果你这么做了,Vue 会在控制台给出警告。

在两种情况下,我们很容易忍不住想去修改 prop 中数据:

  1. Prop 作为初始值传入后,子组件想把它当作局部数据来用;
  2. Prop 作为原始数据传入,由子组件处理成其它数据输出。
  • props 是一种单向数据绑定,组件永远不该改变自己的 props 的值,这点很重要。坚守这点的原因有很多。其一是,组件修改 props 会造成程序调试困难。如果一个值被传递进多个子组件,将很难定位这个值是在哪里被修改的。此外,修改 props 会造成组件重新渲染。所以,一个组件里突变的 props 会触发组件重新渲染,这可能会反过来再次触发 props 突变。

[slot-具名插槽]

什么叫具名插槽?   就是有名字的插槽。

  • 为什么要用具名插槽?因为一个组件里可能有多个地方都不想写死,那就使用具名插槽。

命名语法:

<slot name= '名字'>默认值</slot>

使用语法:

(依赖template包裹,并且用v-s Lot指定插槽名字)

<template v-S Lot :插槽名>

要传递的内容

</ template>

简写语法: (把v-S Lot变成#)

<template #插槽名>

要传递的内容

</ template>

  -- props 设置必传数据(数值不可为空),和属性默认值

用对象的方法定义单个数据:

props: {'name': {type: String,default: '刘德华',required: true},'brith': {type: Number},'age': {type: Number}},

vue中的props相关推荐

  1. vue中的props对象

    vue中的props对象 1.props对象的定义 props其实是properties的缩写,props对象是用来定义属性的.props对象可以接受数组形式的参数又或者是对象形式的参数. 数组形式 ...

  2. Vue中的 props 属性

    1.什么是 props  props 用于组件的传值,他的工作就是为了接受外面传过来的数据,是一个配置项,与data.el.ref 是一个级别的. 2.props 的使用 --1 先准备子组件 Tex ...

  3. vue中修改props传进来的值

    总所周知,vue是单向数据流,一般我们也不会在子组件里面修改父组件传进来的值,但总有需要修改的时候. 前段时间一个项目中有遇到上述情况,假设我直接传进来一个list, 当时我直接在里面改了list,但 ...

  4. Vue中使用props

    文章目录 简单接收 接收,且限制类型 接收,且限制类型.限制必要性.指定默认值 可以在Vue官网访问props. 组件使用props接收从外部传递过来的数据. 组件通过props接收数据,props有 ...

  5. vue中把props中的值赋值给data

    父组件 <messageForm @createMsgCallback="addCreateMsg" :name="sendForm.name">& ...

  6. 「后端小伙伴来学前端了」关于 Vue中的 props

    校园的晚霞 前言 学vue必须要会的就是组件这玩意啦,不然可能就约等于白学. 我自己前期完成老师布置的任务,不瞒你说,交上去,直接被骂,原因就是我一个组件没抽

  7. 「后端小伙伴来学前端了」Vue中Props配合自定义方法实现组件间的通信

    校园的云 前言 废话: 上篇文章写了关于Vue 中的 props

  8. Vue中props用法

    ​ 在Vue中通过props,可以将原本孤立的组件串联起来,也就是可以子组件可以接收父组件传递过来的data,比如子组件想要引用父组件的数据,那么在props里面声明一个变量,这个变量就可以引用父元素 ...

  9. 「后端小伙伴来学前端了」Vue中利用全局事件总线实现组件之间通信

    月亮啊月亮 你能照见南边,也能照见北边 照见她,你跟她说一声,就说我想她了. 前言 前一篇文章写了 vue 中利用 Props 实现组件之间的通信,那种方式是最简单也是最基础的组件之间的通信方式.父组 ...

最新文章

  1. plotly可视化绘制多子图(subplots)并自定义坐标轴
  2. 抵御故障引发系统性失控的基本原则:混沌工程
  3. python画柱状图代码-python plotly画柱状图代码实例
  4. 关于Java基础需要注意的点
  5. 字节流复制文本文件【应用】
  6. 一个程序员的职业规划
  7. [kubernetes] 资源管理 --- 资源预留实践
  8. 【循序渐进学Python】6.Python中的函数
  9. .NET系统架构改造的经验和教训
  10. Ubuntu下安装配置VIM/GVIM(GUI-Vim)
  11. 贪心算法|Greedy Algorithms(背包问题)
  12. 随想录(从编程语言到库、框架、软件)
  13. 要显示的8个字符已存放在以BUF开始的存储区单元中(称为显示缓冲区),依次送到LED显示器中显示。CPU通过P0口和P2口控制8位LED显示器,LED为共阴极显示器。
  14. web文件上传(一)--文件上传与json上传区别及方法
  15. 百度智能化测试技术及项目交付
  16. 三星服务器锁微信,三星手机微信支付设置指纹锁步骤
  17. 阅读图像显著性检测论文三:Saliency Detection A Spectral Residual Approach
  18. STM32驱动BMP280模块
  19. 如何清理微信文件夹占用的巨大空间
  20. 【Java】绘图入门和机制,绘图方法演示(绘制坦克)

热门文章

  1. 软件质量控制与质量保证
  2. matlab取整与取余
  3. 【线性系统笔记4】线性定常系统非齐次方程的解
  4. CAD建筑制图教程之阳台
  5. WinForm 控件实现半透明效果,并可层叠显示
  6. python 边界_如何在python中获取图像的边界像素?
  7. 手把手,嘴对嘴,讲解UCOSII嵌入式操作系统的任务调度策略(三)
  8. SQLiteStudio
  9. Python 暴力破解wifi
  10. 公务员考试--行测--数量资料--奥数