59Vue - Props(单向数据流)

简介: 59Vue - Props(单向数据流)

prop 是单向绑定的:当父组件的属性变化时,将传导给子组件,但是不会反过来。这是为了防止子组件无意修改了父组件的状态——这会让应用的数据流难以理解。

另外,每次父组件更新时,子组件的所有 prop 都会更新为最新值。这意味着你不应该在子组件内部改变 prop 。如果你这么做了,Vue 会在控制台给出警告。

通常有两种改变 prop 的情况:

  1. prop 作为初始值传入,子组件之后只是将它的初始值作为本地数据的初始值使用;
  2. prop 作为需要被转变的原始值传入。

更确切的说这两种情况是:

1.定义一个局部 data 属性,并将 prop 的初始值作为局部数据的初始值。

props: ['initialCounter'],
data: function () {
  return { counter: this.initialCounter }
}

2.定义一个 computed 属性,此属性从 prop 的值计算得出。

props: ['size'],
computed: {
  normalizedSize: function () {
    return this.size.trim().toLowerCase()
  }
}

注意在 JavaScript 中对象和数组是引用类型,指向同一个内存空间,如果 prop 是一个对象或数组,在子组件内部改变它会影响父组件的状态。

目录
相关文章
|
5月前
|
JavaScript
vue单向数据流介绍
vue单向数据流介绍
36 1
|
10月前
|
JavaScript
Vue 路由props 多路由参数时使用
Vue 路由props 多路由参数时使用
|
5月前
|
JavaScript
Vue3之Props组件数据传递
Vue3之Props组件数据传递
129 0
|
5月前
|
JavaScript 前端开发 API
Vue与React数据流设计比较:响应式与单向数据流
Vue与React数据流设计比较:响应式与单向数据流
|
5月前
|
JavaScript
在vue中,怎样理解 Vue 的单向数据流?
在vue中,怎样理解 Vue 的单向数据流?
62 5
|
5月前
|
JavaScript 数据管理
谈谈对Vue.js的单向数据流和双向数据绑定的理解。
谈谈对Vue.js的单向数据流和双向数据绑定的理解。
61 2
Vue3-父子组件通信-Prop
Vue3-父子组件通信-Prop
50 0
|
JavaScript
Vue3--单向数据流、Non-Props属性
Vue3--单向数据流、Non-Props属性
|
JavaScript 前端开发
vue单项数据流
vue单项数据流
|
JavaScript 前端开发
Vue——06组件化之——子传父($emit)、监听原生点击事件、父子组件通信、实现父子组件的双向绑定、ref、$refs、is、:is的使用以及区别
子传父($emit)、监听原生点击事件、父子组件通信、实现父子组件的双向绑定、ref、$refs、is、:is的使用以及区别
157 0