@nurdus

Как правильно вставить компоненту во vue?

Добрый день.
Есть компонента:
Vue.component('scores', {
  props: ['scores', 'language', 'localization'],
  template: '#score-info'
});

Есть шаблон (с framework7):
<template id='score-info'>
      <f7-card v-if='scores !== undefined && localization !== undefined && scores.type !== undefined'><!--1-->
        <f7-card-header><b>{{ localization[scores.type][language] }}: {{ scores.rank }}</b></f7-card-header>
        <f7-card-content>
          <f7-grid v-for='value, key in scores' :key='key'>
            <f7-col width="75">{{ localization[key][language] }}:</f7-col>
            <f7-col width="25">{{ value }}</f7-col>
          </f7-grid>
        </f7-card-content>
      </f7-card>
    </template>

Использование:
<scores :scores='scores.week' :language='language' :localization='localization'></scores>

Собственно вопрос: как (и вообще возможно ли) убрать в строчке (1) выражение: v-if='scores !== undefined && localization !== undefined && scores.type !== undefined' ?!
Если его просто удалить возникают ошибки (не информативные): Cannot find element: #score-info. Template element not found or is empty: #score-info. Failed to mount component: template or render function not defined. (я понимаю, почему возникает ошибка, но не пойму как правильно исправить).
  • Вопрос задан
  • 218 просмотров
Решения вопроса 1
kulakoff
@kulakoff Куратор тега Vue.js
Vue.js developing
Возможно, что смысл этой строчки заключается в том, чтобы не рендерить компонент, в случае отсутствия данных, которые проверяются в этом условии, чтобы как раз избежать ошибок.
Можно убрать эту строчку, но тогда нужно будет вставить проверки ниже, чтобы, например, loaclization существовал, чтобы не было обращения к индексам не существующих элементов и т.д.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Смотрите синтаксис. Данная строчка никаких действий не выполняет и никак на работу скрипта в целом влиять не должна ( за исключением своей прямой задачи естественно).
остаться должно просто <f7-card>
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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