ホームページ >php教程 >PHP开发 >vue.js バインディング スタイル スタイルとクラスのリスト

vue.js バインディング スタイル スタイルとクラスのリスト

高洛峰
高洛峰オリジナル
2016-12-08 13:49:231652ブラウズ

データ バインディングの一般的な要件は、要素のクラス リストとそのインライン スタイルを操作することです。これらはすべて属性であるため、v-bind を使用してそれらを処理できます。式の最後の文字列を評価するだけで済みます。ただし、文字列の連結は面倒でエラーが発生しやすくなります。したがって、Vue.js は、クラスおよびスタイルとともに使用される場合に特に v-bind を強化します。文字列に加えて、式の結果の型はオブジェクトまたは配列にすることもできます。

1. Class 属性をバインドします。

データをバインドするには v-bind: コマンドを使用します。これは次のように省略されます。

構文: e46ddcb875112b0f8e33ef725095c7c416b28748ea4df4d9c2150843fecfba68。クラスの後の二重引用符は、オブジェクト リテラル/オブジェクト参照/配列をパラメータとして受け入れます。

ここで、{active: isActive} はオブジェクト パラメータ、active はクラス名、isActive はブール値です。以下に例を示します。

Bind object literal

html:

<div id="classBind">
<span :class="{warning:isWarning,safe:isSafe}" v-on:click="toggle">
状态:{{alert}}{{isSafe}}
</span>
</div>
//js
var app11=new Vue({
el:&#39;#classBind&#39;,
data:{
isWarning:true,
alertList:[&#39;红色警报&#39;,&#39;警报解除&#39;],
alert:&#39;&#39;
},
computed:{
isSafe:function(){
return !this.isWarning;
}
},
methods:{
toggle:function(){
this.isWarning=!this.isWarning;
this.alert= this.isWarning?this.alertList[0]:this.alertList[1];
}
}
});

css:

.warning{
color:#f24;
}
.safe{
color:#42b983;
}

ステータステキストをクリックすると、次のテキストと色を切り替えることができます

/ / ステータス: アラートがクリアされました true

//ステータス: 赤色のアラート false

バインドされたオブジェクト参照

ここでバインドされたオブジェクトは Vue インスタンスのデータに書き込むことができ、class="classObj" では二重引用符で囲まれたクラスになりますis Vue インスタンスの classObj オブジェクトへの参照です。 classObj はデータに配置することも、計算済みに配置することもできます。classObj に対応する関数は、次のようにオブジェクトを返さなければなりません:

js:

var app11=new Vue({
el:&#39;#classBind&#39;,
data:{
isWarning:true,
alertList:[&#39;红色警报&#39;,&#39;警报解除&#39;],
alert:&#39;&#39;
},
computed: {
isSafe: function () {
return !this.isWarning;
},
classObj:function(){
return {
warning: this.isWarning,
safe:this.isSafe
}
}
},
methods:{
toggle:function(){
this.isWarning=!this.isWarning;
this.alert= this.isWarning?this.alertList[0]:this.alertList[1];
}
}
});

html:

<div v-bind:class="classArray" @click="removeClass()">去掉class</div>

js

data: {
classArray:["big",&#39;red&#39;]
}
methods:{
removeClass:function(){
  this.classArray.pop();
}
}

css:

.big{
font-size:2rem;
}
.red{
color:red;
}

効果、クリックしてクラスを削除すると、removeClass 関数が呼び出され、classArray 配列の最後の項目が初めて削除されます。 「赤」が削除され、フォントの色が赤になります。赤が黒に変わり、もう一度クリックして「大」を削除すると、フォントサイズが小さくなります。

2. インラインスタイルをバインドする

現在、このページの隣にある Vue API ドキュメントを勉強して、ここで販売しています。o(^▽^)o

html

<div id="styleBind">
<span :style="{color:theColor,fontSize:theSize+&#39;px&#39;}" @click="bigger">styleBind</span>
</div>

css

これにはCSSは必要ありません。 。 。

js

var app12=new Vue({
el:&#39;#styleBind&#39;,
data:{
theColor:&#39;red&#39;,
theSize:14
},
methods:{
bigger:function(){
this.theSize+=2;
}
}
});

オブジェクトリテラルを渡すことに加えて、オブジェクト参照と配列を V-bind:style に渡すこともできます

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。