Задать вопрос

Как правильно передать JSON в компонент vue js?

Из шаблона сайта в компонент передаю данные для инициализации в json:
<div id="root">
            <my-component  docs='{{ json }}' />
        </div>

В компонент, в свойство this.docs попадает строка, ее надо распарсить чтобы получить объект.
Но так не работает:
const my-component = {
        props: ['docs'],
        data: function() {
            return {
                docs: JSON.parse(this.docs)
            };
        },
    };

Нельзя изменять входящие свойства.

Я конечно могу создать новое свойство, типа docs2 и просто сохранить json в свойстве docs на память, но мне эта идея не нравиться :)

Где правильнее будет распарсить строку?
  • Вопрос задан
  • 4385 просмотров
Подписаться 1 Средний Комментировать
Решения вопроса 2
0xD34F
@0xD34F Куратор тега Vue.js
Смените привязку параметра со статической на динамическую:

<my-component :docs='{{ json }}' />

Всё, не надо никакого JSON.parse, docs сразу будет объектом.
Ответ написан
Комментировать
@deliro
computed сделай

И вообще, в props и data не должно быть атрибутов с одним именем
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы