Vue


状态驱动CSS

<ul> <li>写法1:行内中绑定对象</li> </ul> <pre><code class="language-javascript">&amp;lt;template&amp;gt; &amp;lt;div :class=&amp;quot;{ 'myClass1': flag, 'myClass2': flag }&amp;quot;&amp;gt;Andy&amp;lt;/div&amp;gt; &amp;lt;button @click=&amp;quot;change&amp;quot;&amp;gt;点击&amp;lt;/button&amp;gt; &amp;lt;/template&amp;gt; &amp;lt;script setup&amp;gt; import { ref } from &amp;quot;vue&amp;quot;; let flag = ref(true) const change = () =&amp;gt; { flag.value = !flag.value } &amp;lt;/script&amp;gt; &amp;lt;style&amp;gt; .myClass1 { color: red; } .myClass2 { font-size: 30px; } &amp;lt;/style&amp;gt;</code></pre> <hr /> <ul> <li>写法2:将行内对象放在下边</li> </ul> <pre><code class="language-javascript">&amp;lt;template&amp;gt; &amp;lt;div :class=&amp;quot;obj&amp;quot;&amp;gt;Andy&amp;lt;/div&amp;gt; &amp;lt;button @click=&amp;quot;change&amp;quot;&amp;gt;点击&amp;lt;/button&amp;gt; &amp;lt;/template&amp;gt; &amp;lt;script setup&amp;gt; import { ref, reactive } from &amp;quot;vue&amp;quot;; let flag = ref(true) let obj = ref({ 'myClass1': flag, 'myClass2': flag }) const change = () =&amp;gt; { flag.value = !flag.value } &amp;lt;/script&amp;gt; &amp;lt;style&amp;gt; .myClass1 { color: red; } .myClass2 { font-size: 30px; } &amp;lt;/style&amp;gt;</code></pre> <hr /> <ul> <li>写法3:行内中绑定数组</li> </ul> <pre><code class="language-javascript">&amp;lt;template&amp;gt;   &amp;lt;div :class=&amp;quot;[cl1, cl2]&amp;quot;&amp;gt;Andy&amp;lt;/div&amp;gt; &amp;lt;/template&amp;gt; &amp;lt;script setup&amp;gt; import { ref, reactive } from &amp;quot;vue&amp;quot;; let cl1 = ref(&amp;quot;myClass1&amp;quot;) let cl2 = ref(&amp;quot;myClass2&amp;quot;) &amp;lt;/script&amp;gt; &amp;lt;style&amp;gt; .myClass1 {   color: red; } .myClass2 {   font-size: 30px; } &amp;lt;/style&amp;gt;</code></pre> <hr /> <ul> <li>写法4:</li> </ul> <pre><code class="language-javascript">&amp;lt;template&amp;gt;   &amp;lt;div :class=&amp;quot;[flag ? 'myClass1 myClass2' : '']&amp;quot;&amp;gt;Andy&amp;lt;/div&amp;gt;   &amp;lt;button @click=&amp;quot;change&amp;quot;&amp;gt;点击&amp;lt;/button&amp;gt; &amp;lt;/template&amp;gt; &amp;lt;script setup&amp;gt; import { ref, reactive } from &amp;quot;vue&amp;quot;; let flag = ref(true) const change = () =&amp;gt; {   flag.value = !flag.value } &amp;lt;/script&amp;gt; &amp;lt;style&amp;gt; .myClass1 {   color: red; } .myClass2 {   font-size: 30px; } &amp;lt;/style&amp;gt;</code></pre> <hr /> <ul> <li>写法5:</li> </ul> <pre><code class="language-javascript">&amp;lt;template&amp;gt; &amp;lt;h1&amp;gt;Hello Andy&amp;lt;/h1&amp;gt; &amp;lt;/template&amp;gt; &amp;lt;script setup&amp;gt; const theme = { color: &amp;quot;red&amp;quot;, }; &amp;lt;/script&amp;gt; &amp;lt;style scoped&amp;gt; h1 { color: v-bind(&amp;quot;theme.color&amp;quot;); } &amp;lt;/style&amp;gt;</code></pre> <p><img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=5c651c7ba135fad812918838077ff6ff" alt="" /></p>

页面列表

ITEM_HTML