Как реплицировать поведение «не в» или «где»?

#javascript #vue.js #vuejs2

#javascript #vue.js #vuejs2

Вопрос:

У меня есть объект данных в моем приложении actionsRequired[ACTION_TYPE_DUPLICATES] .

И логика такова: v-if="actionsRequired[ACTION_TYPE_DUPLICATES][reference.id]" , где, если конкретная ссылка в итерации существует в этом объекте, затем отобразите элемент div.

Обычно в этом свойстве есть только два дубликата.

Мне нужно отобразить что-то вроде, This reference is the same as Reference 55, please... , и мне, очевидно, нужно сделать 55 динамическое.

Мне интересно, есть ли в Vue что-нибудь похожее / похожее на что-то вроде:

 This reference is the same as Reference <span v-where="actionsRequired[ACTION_TYPE_DUPLICATES][reference.id] !== reference.id"></span>
 

Есть предложения? Не уверен, насколько это возможно.

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

1. Что, если вы просто создадите две переменные данных и просто отобразите их таким образом?

2. Невозможно, потому что это итерация. Я не могу использовать переменную или индекс массива / объекта, потому что какие бы ссылки ни были дубликатами, они всегда будут указывать, что один и тот же идентификатор ссылки является дубликатом. Цикл является v-for="(reference, referenceIndex) in references"

Ответ №1:

Как насчет чего-то вроде,

 <div>This reference is the same as Reference <span v-html="displayDuplicateReference(reference)"></span></div>
 

И просто выпишите эту пользовательскую функцию для выполнения "actionsRequired[ACTION_TYPE_DUPLICATES][reference.id] !== reference.id" логики

Ответ №2:

Почему v-if не подходит?

 <span v-if="actionsRequired[ACTION_TYPE_DUPLICATES][reference.id] != null
      amp;amp; actionsRequired[ACTION_TYPE_DUPLICATES][reference.id] !== reference.id">
This reference ... {{ reference.id }}
<span>