2016-11-21 8 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

この例外をスロー?

編集:

私は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にいます。 実際、私のcustomFilterはうまくいきます。私が告白せずにそれを使用する場合 – Bouffe

+0

Vue 1では階層化された条件のために、テンプレートパーサーはあなたが投稿したものに問題を持ち始めると思います。したがって、私はこれに計算されたプロパティをお勧めしたいと思います。計算されたプロパティの出力に最後のcustomFilterを適用するだけです。つまり、 'v-bind:data-original-title =" computedOriginalTitle | customFilter " – GuyC