上一主题 下一主题
ScriptCat,新一代的脚本管理器脚本站,与全世界分享你的用户脚本油猴脚本开发指南教程目录
返回列表 发新帖

[油猴脚本开发指南]条件渲染

[复制链接]
  • TA的每日心情
    慵懒
    2024-10-28 07:07
  • 签到天数: 193 天

    [LV.7]常住居民III

    712

    主题

    5966

    回帖

    6763

    积分

    管理员

    非物质文化遗产社会摇传承人

    积分
    6763

    荣誉开发者喜迎中秋油中2周年生态建设者

    发表于 2022-2-25 18:37:28 | 显示全部楼层 | 阅读模式

    v-if

    v-if相当于js的ifelse语句

    根据变量的真假来进行渲染

    <h1 v-if="awesome">Vue is awesome!</h1>

    同理,我们也可以添加v-else,等同于else

    <h1 v-if="awesome">Vue is awesome!</h1>
    <h1 v-else>Oh no 😢</h1>

    template

    在html中temaplate是一个不可见的元素

    而在vue同理,template相当于一个虚拟的元素,我们可以用它来包裹元素

    然后进行一些逻辑的判断

    <template v-if="ok">
      <h1>Title</h1>
      <p>Paragraph 1</p>
      <p>Paragraph 2</p>
    </template>

    v-else

    必须跟v-if或v-else-if连用

    <div v-if="Math.random() > 0.5">
      Now you see me
    </div>
    <div v-else>
      Now you don't
    </div>

    v-else-if

    类似于if else if else if

    我们可以连续使用

    <div v-if="type === 'A'">
      A
    </div>
    <div v-else-if="type === 'B'">
      B
    </div>
    <div v-else-if="type === 'C'">
      C
    </div>
    <div v-else>
      Not A/B/C
    </div>

    v-show

    v-sow与v-if同理

    唯一的区别是v-if为假的时候,会直接销毁元素

    而v-show相当于使用css的display:none来临时隐藏元素

    但是元素依然存在于页面中

    注意

    v-show不支持template元素,也不支持v-else

    注意

    v-if与v-for不建议连用

    v-if在低配置机器上渲染成本较高

    但是v-if可以用来控制子组件的销毁,再次为真的时候可以直接继续进行初始化流程

    对普通开发的时候更友好

    如果使用v-show的话,我们需要对变量的更改做更多的监听,逻辑更为复杂

    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

    入驻了爱发电https://afdian.net/a/lihengdao666
    个人宣言:この世界で私に胜てる人とコードはまだ生まれていません。死ぬのが怖くなければ来てください。
  • TA的每日心情
    开心
    7 小时前
  • 签到天数: 881 天

    [LV.10]以坛为家III

    30

    主题

    732

    回帖

    7357

    积分

    荣誉开发者

    精通各种语言的HelloWord!

    积分
    7357

    荣誉开发者油中2周年生态建设者油中3周年挑战者 lv2

    发表于 2022-2-25 20:54:40 | 显示全部楼层
    v-slot
    回复

    使用道具 举报

    发表回复

    本版积分规则

    快速回复 返回顶部 返回列表