使用vue-editor组件的Vue数据绑定问题[请阅读更新#2]

时间:2018-06-04 09:01:58

标签: javascript data-binding vue.js

一天的美好时光,
我试图创建一个表单,这将允许文章的多语言本地化 我现在遇到的问题是,通过使用Vue的vue-editor插件,我无法编辑这两个字段。

问题是:

  1. 数据包含一系列区域设置:['ru', 'en']
  2. 使用v-for,我创建了一张看起来像这样的卡片(bootstrap 4) enter image description here
  3. 实际的VueEditor组件位于修改标签上。
  4. 所有其他组件(如日期时间选择器)在其他选项卡上正常运行
  5. 当我在其中一个输入(其中任何一个)中输入文本时,绑定到输入(模型)的变量仅使用纯文本(从null'')< / LI>
  6. 这就是我将组件添加到页面的方式
    <vue-editor :id="locale + '_content_editor'" v-model="article[selectedLocale].content"></vue-editor>
  7. 以下是组件的数据结构:(区域设置作为组件的参数传递) article: { ru: { title: null, slug: null, content: null, belongs: null, category: null, tags: [], loadingTags: false, availableTags: [], published: { date: new Date(), published: false, time: null, timeOptions: { step: '00:05' } } }, en: { title: null, slug: null, content: null, belongs: null, category: null, tags: [], loadingTags: false, availableTags: [], published: { date: new Date(), published: false, time: null, timeOptions: { step: '00:05' } } } }, 如果我手动创建VueEditor的实例,我可以更新结构中定义的变量,但是,当我尝试生成页面时,组件只会更新从null''的结构中的值。

    非常感谢那些了解其原因或知道如何解决这个问题的人的帮助 如果需要进一步说明,请在此提供!

    P.S。从一开始就将内容设置为''不会改变任何内容 所有其他绑定都正常工作(假设article[selectedLocale].property_name符号已到位)

    更新
    我发现,当vue-editor加载到标签中时(只有当用户点击它时,它的标签才会显示)那么它将无法访问数据,但如果我手动加载(在页面加载,选项卡外),然后我可以成功更新对象数据。有任何想法如何克服这个问题?

    更新#2 好的,经过几个小时后,我发现了可能会阻碍使用组件的问题。

    表单的生成方式如下:

    <div v-for="(locale, index) in locales">
        <div v-for="(action, index) in actions">
            <template v-if="matchCurrentAction('edit')">
                <vue-editor :id="locale + '_content_editor'" v-model="article[selectedLocale].content" :key="locale + '-editor'"></vue-editor>
            </template>
        </div>
    </div>
    

    这会加载同一组件的8个实例(ru为4,en为4)。
    所以问题归结为:
    如何仅加载该组件的2个实例,每种语言加载1个#34;。我已经尝试谷歌了,但似乎我无法找到关于如何做到这一点。

0 个答案:

没有答案