美文网首页
Prop(Vue2)

Prop(Vue2)

作者: QYCD | 来源:发表于2023-05-10 16:23 被阅读0次

    Vue官网
    仅仅是个人学习的记录

    写法: 建议后者形式,更清晰明了

    props: ['cityName', 'person']
    或
    props: {
        cityName: { // 驼峰命名
          type: String, // 类型
          default: '' // 默认值
        },
        person: {
          type: String,
          default: ''
        }
      }
    
    image.png

    用法:
    引入:


    image.png
    <child-module :cityName="cityName" @showCityName="updateCityName"></child-module>
    
    image.png

    <child-module :city-name="cityName" @showCityName="updateCityName"></child-module>
    
    image.png

    传入静态或动态Prop
    通过person=""传入一个静态的值

    静态传值.png

    通过v-bind:city-name(简写:city-name)传入一个动态的值


    :city-name动态传值.png

    传入数字: 使用v-bind:(简写:)告诉Vue
    传入布尔: 使用v-bind:(简写:)告诉Vue
    传入数组: 使用v-bind:(简写:)告诉Vue
    传入对象: 使用v-bind:(简写:)告诉Vue

    传入一个对象的所有property:
    如果想要将一个对象的所有 property 都作为 prop 传入,可以使用不带参数的 v-bind (取代 v-bind:prop-name):

    给定一个对象post:

    post: {
      id: 1,
      title: 'My Journey with Vue'
    }
    
    <blog-post v-bind="post"></blog-post>
    等价于
    <blog-post
      v-bind:id="post.id"
      v-bind:title="post.title"
    ></blog-post>
    

    单向数据流:
    所有的 prop 都使得其父子 prop 之间形成了一个单向下行绑定:父级 prop 的更新会向下流动到子组件中,但是反过来则不行
    这样会防止从子组件意外变更父级组件的状态

    每次父级组件发生变更时,子组件中所有的 prop 都将会刷新为最新的值
    这意味着不应该在一个子组件内部改变 prop

    相关文章

      网友评论

          本文标题:Prop(Vue2)

          本文链接:https://www.haomeiwen.com/subject/brhjsdtx.html