2016-11-21 3 views
0

Я пытаюсь использовать 3 условия для отображения нескольких текстов в всплывающей подсказке с помощью бутстрапа.vue.js - условия и настраиваемый фильтр

<span class="icon icon-info" 
    data-toggle="tooltip-click" 
    data-placement="right" 
    data-trigger="focus hover" 
    v-bind:data-original-title=" 
    condition1 ? 
     condition2 ? 
      'some.key.id' | customFilter : 'some.key.id2' | customFilter 
    : 
     condition3 ? 
      'some.key.id3' | customFilter : 'some.key.id4' | customFilter 
    " 
    data-html="true"> 
</span> 

И бросить это исключение

enter image description here

Что я сделал не так?

Edit:

Я работаю над VueJs 1, и мой customFilter работает хорошо индивидуально

<span class="icon icon-info" 
    data-toggle="tooltip-click" 
    data-placement="right" 
    data-trigger="focus hover" 
    v-bind:data-original-title="'some.key.id' | customFilter" 
    data-html="true"> 
</span> 
+0

Фильтры должны появиться после окончательного значения, например '(condition1? ...:« lastvalue ») | customFilter' –

+0

Я думаю, что для чего-то такого сложного он должен быть вычислением вместо фильтра –

+0

Используйте вычисление или метод. Это слишком много логики в шаблоне. –

ответ

1

Я не уверен, если вы используете Vue 2, но если вы затем он отошел от использования пользовательских фильтров, проверьте:

https://vuejs.org/v2/guide/migration.html#Filters

Что вы вывесили выглядит беспорядочный. Я бы рекомендовал переместить эту логику в вычисленное свойство.

+0

Я все еще на Vue.js 1 На самом деле мой customFilter работает хорошо. Если я использую его без ограничений – Bouffe

+0

Даже в Vue 1 из-за многоуровневых условий я предполагаю, что парсер шаблонов начнет иметь проблемы с тем, что вы разместили. Поэтому я бы рекомендовал вычисленное свойство для этого, тогда вы могли бы просто применить окончательный customFilter к выходу вычислимого свойства, то есть 'v-bind: data-original-title =" computedOriginalTitle | customFilter " – GuyC

Смежные вопросы