Какова цель значения по умолчанию в реквизитах в vue, если vue по-прежнему выдает ошибку?

Я пытаюсь понять, предназначена ли проверка опоры для разработчика или пользователя. Я намеренно оставил компонент пустым

Я не передал значение (кстати, как называется это переданное значение?): <card />
Правильный способ: <card :name="name" />

props:{
    name: { default: "John Doe" }

Однако, когда я оставляю компонент пустым без передачи значения, Vue использует значение по умолчанию для заполнения значения в разделе шаблона, оставляя ошибку в консоли: Property or method "name" is not defined on the instance but referenced during render.

Что, если я хочу использовать значение по умолчанию? Я буду продолжать получать эту ошибку.


person Tyler Morales    schedule 06.08.2020    source источник
comment
Пожалуйста, поделитесь его родительским кодом, из которого вы передаете ему имя   -  person Atif Zia    schedule 06.08.2020


Ответы (1)


Проверка свойств полезна как для разработчиков, так и для пользователей, но не является обязательной.

Я думаю, что проблема заключается в этой строке (для объяснения я изменил ввод на myName): <card :name="myName" />

Ошибка возникает из-за того, что myName не определен должным образом перед передачей в компонент.

Они будут работать как статические примеры:

  • <card name="Jesse" /> Поскольку имя не связано с : или v-bind:
  • <card :name="'Jesse'" /> Потому что имя здесь связано, но с буквальной строкой "Джесси"

<card :name="myName" /> будет работать, вам просто нужно подтвердить, что myName не undefined.

myName сам может быть опорой в родительском компоненте, если хотите, например: props: { myName: { default: "Jesse"} }

person jezpez    schedule 06.08.2020