【问题标题】:how to add a string to another string in Vue.js如何在 Vue.js 中将一个字符串添加到另一个字符串
【发布时间】:2021-12-27 13:49:39
【问题描述】:

我正在做一个 Vue 项目。 我尝试使用以下代码向道具添加一个字符:

mounted() {
  this.link = this.link + '/';
}

问题是我在控制台上收到此错误:

Uncaught TypeError: 'set' on proxy: trap returned falsish for property 'link'

【问题讨论】:

    标签: javascript vue.js vuejs2


    【解决方案1】:

    你不应该改变道具,一种方法是创建一个computed property

    computed: {
      formattedLink: function() {
        return this.link + '/';
      }
    }
    

    【讨论】:

      【解决方案2】:

      来自 Vue 文档:

      所有的 props 在子属性和父属性之间形成一个单向向下的绑定:当父属性更新时,它会向下流向子属性,而不是相反。这可以防止子组件意外改变父组件的状态,从而使您的应用的数据流更难理解。

      您可以从子组件发出数据,然后在父组件中侦听它的任何更改以保持数据同步。

      <child-component :link="value" @updatedLink="link = $event"></child-component>
      

      从孩子那里发出更新的值。

       mounted() {
        const val = this.link + '/';
        this.$emit('updatedLink', val)
      }
      

      您可以在此处阅读更多信息: https://v3.vuejs.org/guide/component-custom-events.html

      【讨论】:

        猜你喜欢
        • 2020-04-13
        • 1970-01-01
        • 1970-01-01
        • 2011-05-25
        • 1970-01-01
        • 2016-08-17
        • 2022-01-04
        • 1970-01-01
        相关资源
        最近更新 更多