为什么 Vue.js 中动态变更标签样式无效?
时间:2024-11-22 18:15:53 486浏览 收藏
各位小伙伴们,大家好呀!看看今天我又给各位带来了什么文章?本文标题是《为什么 Vue.js 中动态变更标签样式无效?》,很明显是关于文章的文章哈哈哈,其中内容主要会涉及到等等,如果能帮到你,觉得很不错的话,欢迎各位多多点评和分享!
动态变更标签样式的疑惑
在使用 vue.js 时,遇到一个问题:为一个标签添加了动态样式,基于某个事件触发后传入一个布尔值,理论上样式会发生改变。然而,触发事件后,样式却没有发生变化。
问题代码如下:
1 2 3 4 | <pre><code> <div class = "content" : class = "{ active:iscollapse }" > <myheader @changemenu= "changemenu" :iscollapse= "!iscollapse" ></myheader> </code></pre> |
1 2 3 4 5 6 7 8 9 10 11 12 | <pre><code> data () { return { iscollapse: false } }, methods: { changemenu () { this.iscollapse = !this.iscollapse } } </code></pre> |
1 2 3 4 5 6 7 8 | <pre><code> .content { padding-left: 200px; .active { padding-left: 65px; } } </code></pre> |
控制台输出了以下内容:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 | <style> #app .content { padding-left: 200px; }</pre><p>问题源自后代选择器的写法,应该将样式写成同级,即:</p><pre class = "brush:php;toolbar:false" ><pre><code> .content { padding-left: 200px; } .active { padding-left: 65px; } </code></pre></pre><p>在使用后代选择器时( ".content .active" ),样式只会在 ".active" 是 ".content" 后代元素时生效。而在同级选择器( ".content.active" )中, ".active" 与 ".content" 将出现在同一个元素上,才能让样式生效。</p><p>今天关于《为什么 Vue.js 中动态变更标签样式无效?》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!</p> </div> <div class = "labsList" > </div> </div> <!-- 最新阅读 --> <div class = "contBoxNor" > <div class = "contTit" > <div class = "tit" >相关阅读</div> <a href= "/articlelist.html" class = "more" >更多></a> </div> <ul class = "latestReadList" > <li> <div class = "info" > <a href= "/articlelist/19_new_0_1.html" class = "aLightGray" title= "文章" >文章</a> · <a href= "/articlelist/88_new_0_1.html" class = "aLightGray" title= "前端" >前端</a> | 1年前 | <a href= "javascript:;" class = "aLightGray" title= "CSS" >CSS</a> <a href= "javascript:;" class = "aLightGray" title= "优化" >优化</a> <a href= "javascript:;" class = "aLightGray" title= "体验" >体验</a> </div> <div class = "tit lineOverflow" ><a href= "/article/72840.html" title= "优化用户界面体验的秘密武器:CSS开发项目经验大揭秘" class = "aBlack" >优化用户界面体验的秘密武器:CSS开发项目经验大揭秘</a></div> <div class = "opt" > <span><i class = "view" ></i>501</span> <span class = "collectBtn user_collection" data-id= "72840" data-type= "article" title= "收藏" ><i class = "collect" ></i>收藏</span> </div> </li> <li> <div class = "info" > <a href= "/articlelist/19_new_0_1.html" class = "aLightGray" title= "文章" >文章</a> · <a href= "/articlelist/88_new_0_1.html" class = "aLightGray" title= "前端" >前端</a> | 1年前 | <a href= "javascript:;" class = "aLightGray" title= "图片轮播" >图片轮播</a> <a href= "javascript:;" class = "aLightGray" title= "微信小程序" >微信小程序</a> <a href= "javascript:;" class = "aLightGray" title= "特效" >特效</a> </div> <div class = "tit lineOverflow" ><a href= "/article/76259.html" title= "使用微信小程序实现图片轮播特效" class = "aBlack" >使用微信小程序实现图片轮播特效</a></div> <div class = "opt" > <span><i class = "view" ></i>501</span> <span class = "collectBtn user_collection" data-id= "76259" data-type= "article" title= "收藏" ><i class = "collect" ></i>收藏</span> </div> </li> <li> <div class = "info" > <a href= "/articlelist/19_new_0_1.html" class = "aLightGray" title= "文章" >文章</a> · <a href= "/articlelist/88_new_0_1.html" class = "aLightGray" title= "前端" >前端</a> | 1年前 | <a href= "javascript:;" class = "aLightGray" title= "sessionStorage" >sessionStorage</a> <a href= "javascript:;" class = "aLightGray" title= "存储能力" >存储能力</a> <a href= "javascript:;" class = "aLightGray" title= "限制解析" >限制解析</a> </div> <div class = "tit lineOverflow" ><a href= "/article/83771.html" title= "解析sessionStorage的存储能力与限制" class = "aBlack" >解析sessionStorage的存储能力与限制</a></div> <div class = "opt" > <span><i class = "view" ></i>501</span> <span class = "collectBtn user_collection" data-id= "83771" data-type= "article" title= "收藏" ><i class = "collect" ></i>收藏</span> </div> </li> <li> <div class = "info" > <a href= "/articlelist/19_new_0_1.html" class = "aLightGray" title= "文章" >文章</a> · <a href= "/articlelist/88_new_0_1.html" class = "aLightGray" title= "前端" >前端</a> | 1年前 | <a href= "javascript:;" class = "aLightGray" title= "团队合作" >团队合作</a> <a href= "javascript:;" class = "aLightGray" title= "冒泡事件" >冒泡事件</a> <a href= "javascript:;" class = "aLightGray" title= "促进作用" >促进作用</a> </div> <div class = "tit lineOverflow" ><a href= "/article/85057.html" title= "探索冒泡活动对于团队合作的推动力" class = "aBlack" >探索冒泡活动对于团队合作的推动力</a></div> <div class = "opt" > <span><i class = "view" ></i>501</span> <span class = "collectBtn user_collection" data-id= "85057" data-type= "article" title= "收藏" ><i class = "collect" ></i>收藏</span> </div> </li> <li> <div class = "info" > <a href= "/articlelist/19_new_0_1.html" class = "aLightGray" title= "文章" >文章</a> · <a href= "/articlelist/88_new_0_1.html" class = "aLightGray" title= "前端" >前端</a> | 1年前 | </div> <div class = "tit lineOverflow" ><a href= "/article/91359.html" title= "UI设计中为何选择绝对定位的智慧之道" class = "aBlack" >UI设计中为何选择绝对定位的智慧之道</a></div> <div class = "opt" > <span><i class = "view" ></i>501</span> <span class = "collectBtn user_collection" data-id= "91359" data-type= "article" title= "收藏" ><i class = "collect" ></i>收藏</span> </div> </li> </ul> </div> <!-- 最新阅读 --> <div class = "contBoxNor" > <div class = "contTit" > <div class = "tit" >最新阅读</div> <a href= "/articlelist.html" class = "more" >更多></a> </div> <ul class = "latestReadList" > <li> <div class = "info" > <a href= "/articlelist/19_new_0_1.html" class = "aLightGray" title= "文章" >文章</a> · <a href= "/articlelist/88_new_0_1.html" class = "aLightGray" title= "前端" >前端</a> | 8秒前 | </div> <div class = "tit lineOverflow" ><a href= "/article/195819.html" title= "vertical-align居中图片失败原因及解决方法" class = "aBlack" >vertical-align居中图片失败原因及解决方法</a></div> <div class = "opt" > <span><i class = "view" ></i>290</span> <span class = "collectBtn user_collection" data-id= "195819" data-type= "article" title= "收藏" ><i class = "collect" ></i>收藏</span> </div> </li> <li> <div class = "info" > <a href= "/articlelist/19_new_0_1.html" class = "aLightGray" title= "文章" >文章</a> · <a href= "/articlelist/88_new_0_1.html" class = "aLightGray" title= "前端" >前端</a> | 3分钟前 | </div> <div class = "tit lineOverflow" ><a href= "/article/195817.html" title= "uni-app数据验证与错误处理实用技巧" class = "aBlack" >uni-app数据验证与错误处理实用技巧</a></div> <div class = "opt" > <span><i class = "view" ></i>345</span> <span class = "collectBtn user_collection" data-id= "195817" data-type= "article" title= "收藏" ><i class = "collect" ></i>收藏</span> </div> </li> <li> <div class = "info" > <a href= "/articlelist/19_new_0_1.html" class = "aLightGray" title= "文章" >文章</a> · <a href= "/articlelist/88_new_0_1.html" class = "aLightGray" title= "前端" >前端</a> | 9分钟前 | </div> <div class = "tit lineOverflow" ><a href= "/article/195815.html" title= "Vue.js混合详解与使用技巧" class = "aBlack" >Vue.js混合详解与使用技巧</a></div> <div class = "opt" > <span><i class = "view" ></i>381</span> <span class = "collectBtn user_collection" data-id= "195815" data-type= "article" title= "收藏" ><i class = "collect" ></i>收藏</span> </div> </li> <li> <div class = "info" > <a href= "/articlelist/19_new_0_1.html" class = "aLightGray" title= "文章" >文章</a> · <a href= "/articlelist/88_new_0_1.html" class = "aLightGray" title= "前端" >前端</a> | 18分钟前 | <a href= "javascript:;" class = "aLightGray" title= "Vue.js" >Vue.js</a> <a href= "javascript:;" class = "aLightGray" title= "uni-app" >uni-app</a> <a href= "javascript:;" class = "aLightGray" title= "性能优化" >性能优化</a> <a href= "javascript:;" class = "aLightGray" title= "传统小程序" >传统小程序</a> <a href= "javascript:;" class = "aLightGray" title= "多平台开发" >多平台开发</a> </div> <div class = "tit lineOverflow" ><a href= "/article/195811.html" title= "uni-app与传统小程序开发区别深度解析" class = "aBlack" >uni-app与传统小程序开发区别深度解析</a></div> <div class = "opt" > <span><i class = "view" ></i>253</span> <span class = "collectBtn user_collection" data-id= "195811" data-type= "article" title= "收藏" ><i class = "collect" ></i>收藏</span> </div> </li> <li> <div class = "info" > <a href= "/articlelist/19_new_0_1.html" class = "aLightGray" title= "文章" >文章</a> · <a href= "/articlelist/88_new_0_1.html" class = "aLightGray" title= "前端" >前端</a> | 29分钟前 | </div> <div class = "tit lineOverflow" ><a href= "/article/195805.html" title= "Less编译器快速使用指南及CSS压缩转换" class = "aBlack" >Less编译器快速使用指南及CSS压缩转换</a></div> <div class = "opt" > <span><i class = "view" ></i>334</span> <span class = "collectBtn user_collection" data-id= "195805" data-type= "article" title= "收藏" ><i class = "collect" ></i>收藏</span> </div> </li> <li> <div class = "info" > <a href= "/articlelist/19_new_0_1.html" class = "aLightGray" title= "文章" >文章</a> · <a href= "/articlelist/88_new_0_1.html" class = "aLightGray" title= "前端" >前端</a> | 29分钟前 | </div> <div class = "tit lineOverflow" ><a href= "/article/195804.html" title= "getUserMedia为何只能访问部分摄像头?" class = "aBlack" >getUserMedia为何只能访问部分摄像头?</a></div> <div class = "opt" > <span><i class = "view" ></i>239</span> <span class = "collectBtn user_collection" data-id= "195804" data-type= "article" title= "收藏" ><i class = "collect" ></i>收藏</span> </div> </li> <li> <div class = "info" > <a href= "/articlelist/19_new_0_1.html" class = "aLightGray" title= "文章" >文章</a> · <a href= "/articlelist/88_new_0_1.html" class = "aLightGray" title= "前端" >前端</a> | 35分钟前 | </div> <div class = "tit lineOverflow" ><a href= "/article/195802.html" title= "CSS和JS设置xxx类元素样式实用攻略" class = "aBlack" >CSS和JS设置xxx类元素样式实用攻略</a></div> <div class = "opt" > <span><i class = "view" ></i>192</span> <span class = "collectBtn user_collection" data-id= "195802" data-type= "article" title= "收藏" ><i class = "collect" ></i>收藏</span> </div> </li> <li> <div class = "info" > <a href= "/articlelist/19_new_0_1.html" class = "aLightGray" title= "文章" >文章</a> · <a href= "/articlelist/88_new_0_1.html" class = "aLightGray" title= "前端" >前端</a> | 43分钟前 | </div> <div class = "tit lineOverflow" ><a href= "/article/195800.html" title= "Vue.js服务端渲染SSR实现攻略" class = "aBlack" >Vue.js服务端渲染SSR实现攻略</a></div> <div class = "opt" > <span><i class = "view" ></i>412</span> <span class = "collectBtn user_collection" data-id= "195800" data-type= "article" title= "收藏" ><i class = "collect" ></i>收藏</span> </div> </li> <li> <div class = "info" > <a href= "/articlelist/19_new_0_1.html" class = "aLightGray" title= "文章" >文章</a> · <a href= "/articlelist/88_new_0_1.html" class = "aLightGray" title= "前端" >前端</a> | 50分钟前 | </div> <div class = "tit lineOverflow" ><a href= "/article/195795.html" title= "uni-app下拉刷新与上拉加载组件深度解析" class = "aBlack" >uni-app下拉刷新与上拉加载组件深度解析</a></div> <div class = "opt" > <span><i class = "view" ></i>116</span> <span class = "collectBtn user_collection" data-id= "195795" data-type= "article" title= "收藏" ><i class = "collect" ></i>收藏</span> </div> </li> <li> <div class = "info" > <a href= "/articlelist/19_new_0_1.html" class = "aLightGray" title= "文章" >文章</a> · <a href= "/articlelist/88_new_0_1.html" class = "aLightGray" title= "前端" >前端</a> | 1小时前 | </div> <div class = "tit lineOverflow" ><a href= "/article/195793.html" title= "Vue.js混合详解与实用技巧" class = "aBlack" >Vue.js混合详解与实用技巧</a></div> <div class = "opt" > <span><i class = "view" ></i>199</span> <span class = "collectBtn user_collection" data-id= "195793" data-type= "article" title= "收藏" ><i class = "collect" ></i>收藏</span> </div> </li> <li> <div class = "info" > <a href= "/articlelist/19_new_0_1.html" class = "aLightGray" title= "文章" >文章</a> · <a href= "/articlelist/88_new_0_1.html" class = "aLightGray" title= "前端" >前端</a> | 1小时前 | </div> <div class = "tit lineOverflow" ><a href= "/article/195790.html" title= "CSS垂直外边距合并,巧妙避免布局难题" class = "aBlack" >CSS垂直外边距合并,巧妙避免布局难题</a></div> <div class = "opt" > <span><i class = "view" ></i>243</span> <span class = "collectBtn user_collection" data-id= "195790" data-type= "article" title= "收藏" ><i class = "collect" ></i>收藏</span> </div> </li> <li> <div class = "info" > <a href= "/articlelist/19_new_0_1.html" class = "aLightGray" title= "文章" >文章</a> · <a href= "/articlelist/88_new_0_1.html" class = "aLightGray" title= "前端" >前端</a> | 1小时前 | </div> <div class = "tit lineOverflow" ><a href= "/article/195789.html" title= "Vue.jsSSR实现攻略及实战经验" class = "aBlack" >Vue.jsSSR实现攻略及实战经验</a></div> <div class = "opt" > <span><i class = "view" ></i>394</span> <span class = "collectBtn user_collection" data-id= "195789" data-type= "article" title= "收藏" ><i class = "collect" ></i>收藏</span> </div> </li> </ul> </div> <!-- 课程推荐 --> <div class = "contBoxNor" > <div class = "contTit" > <div class = "tit" >课程推荐</div> <a href= "/courselist.html" class = "more" >更多></a> </div> <ul class = "classRecomList" > <li> <a href= "/course/9.html" title= "前端进阶之JavaScript设计模式" class = "img_box" > <img src= "/uploads/20221222/52fd0f23a454c71029c2c72d206ed815.jpg" onerror= "this.onerror='';this.src='/assets/images/moren/morentu.png'" alt= "前端进阶之JavaScript设计模式" > </a> <dl> <dt class = "lineOverflow" > 前端进阶之JavaScript设计模式 </dt> <dd class = "cont1 lineOverflow" >设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。</dd> <dd class = "cont2" > <a href= "/course/9.html" title= "前端进阶之JavaScript设计模式" class = "toStudy" >立即学习</a> <span>542次学习</span> </dd> </dl> </li> <li> <a href= "/course/2.html" title= "GO语言核心编程课程" class = "img_box" > <img src= "/uploads/20221221/634ad7404159bfefc6a54a564d437b5f.png" onerror= "this.onerror='';this.src='/assets/images/moren/morentu.png'" alt= "GO语言核心编程课程" > </a> <dl> <dt class = "lineOverflow" > GO语言核心编程课程 </dt> <dd class = "cont1 lineOverflow" >本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。</dd> <dd class = "cont2" > <a href= "/course/2.html" title= "GO语言核心编程课程" class = "toStudy" >立即学习</a> <span>508次学习</span> </dd> </dl> </li> <li> <a href= "/course/74.html" title= "简单聊聊mysql8与网络通信" class = "img_box" > <img src= "/uploads/20240103/bad35fe14edbd214bee16f88343ac57c.png" onerror= "this.onerror='';this.src='/assets/images/moren/morentu.png'" alt= "简单聊聊mysql8与网络通信" > </a> <dl> <dt class = "lineOverflow" > 简单聊聊mysql8与网络通信 </dt> <dd class = "cont1 lineOverflow" >如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让</dd> <dd class = "cont2" > <a href= "/course/74.html" title= "简单聊聊mysql8与网络通信" class = "toStudy" >立即学习</a> <span>497次学习</span> </dd> </dl> </li> <li> <a href= "/course/57.html" title= "JavaScript正则表达式基础与实战" class = "img_box" > <img src= "/uploads/20221226/bbe4083bb3cb0dd135fb02c31c3785fb.jpg" onerror= "this.onerror='';this.src='/assets/images/moren/morentu.png'" alt= "JavaScript正则表达式基础与实战" > </a> <dl> <dt class = "lineOverflow" > JavaScript正则表达式基础与实战 </dt> <dd class = "cont1 lineOverflow" >在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。</dd> <dd class = "cont2" > <a href= "/course/57.html" title= "JavaScript正则表达式基础与实战" class = "toStudy" >立即学习</a> <span>487次学习</span> </dd> </dl> </li> <li> <a href= "/course/28.html" title= "从零制作响应式网站—Grid布局" class = "img_box" > <img src= "/uploads/20221223/ac110f88206daeab6c0cf38ebf5fe9ed.jpg" onerror= "this.onerror='';this.src='/assets/images/moren/morentu.png'" alt= "从零制作响应式网站—Grid布局" > </a> <dl> <dt class = "lineOverflow" > 从零制作响应式网站—Grid布局 </dt> <dd class = "cont1 lineOverflow" >本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。</dd> <dd class = "cont2" > <a href= "/course/28.html" title= "从零制作响应式网站—Grid布局" class = "toStudy" >立即学习</a> <span>484次学习</span> </dd> </dl> </li> </ul> </div> </div> <!-- footer --> <link href= "https://fonts.googleapis.com/icon?family=Material+Icons" rel= "stylesheet" > <div class = "footer" > <ul> <li ><a href= "/" class = "aLightGray" ><em class = "material-icons" >home</em><span>首页</span></a></li> <li class = "curr" ><a href= "/articlelist.html" class = "aLightGray" ><em class = "material-icons" >menu_book</em><span>阅读</span></a></li> <li ><a href= "/courselist.html" class = "aLightGray" ><em class = "material-icons" >school</em><span>课程</span></a></li> <li ><a href= "/ai.html" class = "aLightGray" ><em class = "material-icons" >smart_toy</em><span>AI助手</span></a></li> <li ><a href= "/user.html" class = "aLightGray" ><em class = "material-icons" >person</em><span>我的</span></a></li> </ul> </div> <script src= "/assets/js/require.js" data-main= "/assets/js/require-frontend.js?v=1671101972" ></script> <script> var _hmt = _hmt || []; ( function () { var hm = document.createElement( "script" ); hm.src = "https://hm.baidu.com/hm.js?3dc5666f6478c7bf39cd5c91e597423d" ; var s = document.getElementsByTagName( "script" )[0]; s.parentNode.insertBefore(hm, s); })(); </script> </body> </html></style> |