如何在递归组件中更新道具(对象)?

时间:2020-06-08 04:45:06

标签: vue.js

我有一个递归Vue组件,每个组件都提供一个WYSIWYG编辑器。 editorJSON对象作为prop传入,并在组件安装时传递给编辑器以进行加载。基础数据结构的示例:

this.editor = [{
    editorJSON: {
        "type": "doc",
        "content": [{
            "type": "paragraph",
            "content": [{
                "type": "text",
                "text": "Lorem ipsum..."
            }]
        }]
    },
    editor: [{
        editorJSON: {
            "type": "doc",
            "content": [{
                "type": "paragraph",
                "content": [{
                    "type": "text",
                    "text": "Lorem ipsum..."
                }]
            }]
        },
    ...

内容更改时,编辑器将具有一个回调。使用此方法,我尝试了以下操作:

  1. 在组件的每个实例中更新道具(当然不能这样做)
  2. Vue.set,但我正在尝试更新,而不是添加新内容,因此重复了
  3. 使用.sync,但我不能使用,因为它是一个对象

我得到的最接近的对象是将对象发送给父对象并在那里处理,但是我在那里遇到了许多问题,不再需要引用editorJSON进行更新。确定与事件一起发送的组件的唯一路径是否很常见?为此,我试图创建一个道具(数组)并按下键,但是我在努力防止反应。

我意识到我在这里没有共享任何代码-我主要是在寻找有人将我指向我没有足够详细阅读的文档部分,并确认哪个方向是正确的方向。非常感谢!

0 个答案:

没有答案