2017-10-31 8 views
1

私はvuejsを使用しています。私はデータ値に応じてクラスを切り替える必要があります。 負の数の場合は、.negクラスを使用したいと思います。正の数の場合は、.posクラスを使用します。Vue js switch css class

クラスを追加する以外はすべて機能しています。

データは次のようになり:5、-7、8、-2、4、-9 ECT

myArray: function() { 
    var test = [5, -7, 8, -2, 4, -9]; 
    return test; 
}, 

<div v-for="data in myArray"> 
    <div v-bind:class="{'neg': data < 0, 'pos': data > 0}"></div> 
    <div id="my">{{ data }}</div> 
</div> 

.pos {background-color: green;} 
.neg {background-color: red;} 

任意の助けが充当されることになります。

+0

myArrayを置き換えますか?また、私はループ内で "私"の 'id'を再利用していません。あなたは二重に終わるでしょう – Phil

+0

ここでうまくいくと思われます〜http://jsfiddle.net/o49x5de0/2/。おそらくあなたの 'neg' /' pos'クラスの要素に内容がないのでしょうか? – Phil

+0

* typo * – Phil

答えて

0

myArrayは値(配列)を返すためです。それは `myarrayの()`でデータすべきではないmyArray()

<div v-for="data in myArray"> 
    <div :class="{'neg': data < 0, 'pos': data > 0}"></div> 
    <div id="my">{{ data }}</div> 
</div