Можно ли условно отображать элементы в NativeScript-Vue?

Надеюсь, вы поможете мне решить мою проблему. Я работаю над приложением Nativescript-Vue и хочу сделать это условно:

<Label if="isRendering" text="This is a text"></Label>

Но это не работает.

Я уже пробовал это с <v-template if="..."></v-template>, но это тоже не работает.

Если я не ошибаюсь, в Vue.js можно выполнять условный рендеринг с помощью v-if, и я ищу возможность сделать это в Nativescript-Vue.

Спасибо


person Razzaui    schedule 13.09.2019    source источник


Ответы (1)


То же, что и во Vue.js.

Вместо использования if вы должны использовать v-if.

Пример игровой площадки

Пример:

<Label v-if="isRendering" text="This is a text"></Label>

Но если вы хотите использовать if в ListView, это другое. Пример:

<ListView for="item in listOfItems" @itemTap="onItemTap"> 
  <v-template>
    <Label :text="item.text" /> 
  </v-template>

  <v-template if="$odd">
    <!-- For items with an odd index, shows the label in red. -->
    <Label :text="item.text" color="red" />
  </v-template>
</ListView>

Но больше информации об этом можно найти в документации.

person Steven    schedule 13.09.2019
comment
Большое спасибо за ответ. Я уже пробовал использовать вот так: ‹StackLayout if = false row = 30› ... ‹/StackLayout›, но он ничего не делает, он всегда отображает элемент. Я не хочу использовать ListView, но думаю, что должен использовать, если - person Razzaui; 13.09.2019
comment
@Razzaui, вы должны использовать v-if в своем примере вместо if. Посмотрите пример игровой площадки. Я сделал это для вас, чтобы вы могли его протестировать. Еще вопрос, просто задавайте. - person Steven; 14.09.2019