• 技术文章 >web前端 >Vue.js

    浅谈vue.js中的Props(单向数据流)

    青灯夜游青灯夜游2020-10-20 17:25:27转载576

    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 是一个对象或数组,在子组件内部改变它会影响父组件的状态。

    英文原文地址:https://dev.to/lydiahallie/javascript-visualized-event-loop-3dif

    相关推荐:

    2020年前端vue面试题大汇总(附答案)

    vue教程推荐:2020最新的5个vue.js视频教程精选

    更多编程相关知识,请访问:编程入门!!

    以上就是浅谈vue.js中的Props(单向数据流)的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:csdn,如有侵犯,请联系admin@php.cn删除
    上一篇:使用Vue.js实现图像裁剪功能 下一篇:vue如何实现一个电子签名组件?
    大前端线上培训班

    相关文章推荐

    • 详解Vue中的无渲染行为插槽• 了解一下Vue中的插槽• Vue.js 学习之四:Vue 组件基础• 使用Vue开发Chrome扩展程序的方法• 使用Vue.js实现图像裁剪功能

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网