кодесурса
«Вью

Условный рендеринг

script1adsense2code
script1adsense3code

v-если

Когда мы хотим условно визуализировать блок, мы используем директиву v-if. Блок не будет отображаться, если выражение директивы не имеет истинного значения.

<h1 v-if="awesome">Vue is awesome!</h1>

Мы также можем добавить «else-block», используя v-else:

<h1 v-if="awesome">Vue is awesome!</h1>
<h1 v-else">Oh No it is more than Awesome</h1>

Условные группы с v-if на <шаблон>

Поскольку v-if является директивой, она должна быть присоединена к одному элементу. Как вы собираетесь переключать более одного элемента? В таком случае мы должны использовать v-if для элемента <template>,

Это послужит невидимой оберткой. Окончательный результат, который будет отображен, не будет включать элемент <template>.

<template v-if="ok">
 <h1>Title</h1>
 <p>Paragraph 1</p>
 <p>Paragraph 2</p>
 </template>

v- то еще

мы используем директиву v-else, чтобы указать блок else для v-if:

<div v-if="Math.random()> 0.5">
I am Visible
</div>
<div v-else>
I'm now Invisible
</div>

Если элемент v-else не следует сразу за элементом v-if или v-else-if, он не будет распознан.

v- то еще, если

V-else-if является реализацией else-if для v-if, она может быть объединена несколько раз:

<div v-if="type===A">
A
</div>
<div v-else-if="type===B">
B
</div>
<div v-else-if="type===C">
C
</div>
<div v-else>
Not A/B/C
</div>

V-else-if должен следовать непосредственно за элементом v-if или v-else-if.

Управление многоразовыми элементами с ключом

Vue всегда будет стараться помочь нам сделать наш элемент максимально эффективным и предпочитает использовать их повторно, а не создавать их с нуля.

Это не только делает Vue очень быстрым, но и имеет другие полезные преимущества. Например, он может позволить пользователям переключаться между несколькими типами входа в систему:

<template v-if="loginType ==='username'">
<label>Username</label>
<input placeholder="Enter your username">
</template>
<template v-else>
<label>Email</label>
<input placeholder="Enter your email address">
</template>

Когда мы переключаем loginType в приведенном выше фрагменте, данные, ранее введенные пользователем, будут сохранены.

Вышеприведенный сценарий хорош, но иногда он нежелателен. Если мы не хотим повторно использовать элементы, мы добавляем ключевой атрибут с уникальным значением:

<template v-if="loginType ==='username'">
<label>Username</label>
<input placeholder="Enter your username" key="username-input">
</template>
<template v-else>
<label>Email</label>
<input placeholder="Enter your email address" key="email-input">
</template>

v-шоу

В качестве альтернативы мы можем использовать директиву v-show для отображения элемента. Использование одинаково в значительной степени:

<h1 v-show="ok"> Hello! </h1>

v-show не поддерживает ни элемент шаблона, ни v-else.

v-if vs v-show

v-if гарантирует, что слушатели событий и дочерние компоненты внутри условного блока должным образом уничтожаются и воссоздаются во время переключений и, таким образом, реализуют реальный условный рендеринг.

v-if ленив: он не будет ничего делать, если условие ложно при начальном рендеринге, он будет оставаться таким до тех пор, пока условие не станет истинным в первый раз.

С другой стороны, v-show проще - независимо от начального условия, элемент всегда отображается.

В целом, у v-if более высокие затраты на переключение, тогда как у v-show выше начальные затраты на рендеринг.

V-для с V-если

всегда заманчиво использовать v-if и v-for вместе, однако это не рекомендуется. Однако обратите внимание, что при использовании вместе с v-if директива v-for имеет более высокий приоритет, чем v-if.

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code