отправка данных в виде массива, но получение их как [object Object]

#typescript

#typescript

Вопрос:

Привет, в моем приложении stencil я создал компонент, который получает данные в виде массива, а также JSON.stringfied, как показано ниже:

 <myComponent :data=[1,2,3,4] />
<myComponent :data="JSON.stringify([1,2,3,4])" />
  

в моем компоненте stencil он получает как [object Object], однако его следует читать как массив. Вот снимок части stenciljs @prop

  @Prop() data: string | Array<Record<'type' | 'value' | 'percentage', string>>;
  

Пользователь может отправлять stringified (используя JSON.stringify, а также напрямую может отправлять массив компоненту.)

Я хочу объединить оба. но если я отправлю массив в качестве входных данных веб-компоненту, он будет получен как [object Object]

Комментарии:

1. Массивы в Javascript являются объектами. Это особый тип объектов. Я не знаком с пакетом stencil, поэтому я не знаю наверняка, что здесь происходит, но в этом определении типа string | Array<Record<'type' | 'value' | 'percentage', string>> говорится, что data это может быть только строка или массив определенного типа object ( Record<'type' | 'value' | 'percentage', string> ) . Я думаю, что происходит то, что ваш массив чисел не соответствует этому определению, поэтому он преобразуется в строку. И поскольку массивы являются объектами, вы получаете строку ”[object Object]” .

2. Массив <любой> даже не работает..

3. Можете ли вы опубликовать ссылку на демонстрационную версию (codesandbox, stackblitz и т. Д.) Или репозиторий?