Day02-Vue基础

Day02-Vuejs基础

一 Vue基础语法

常用指令

  • v-html、v-text
  • v-show
  • v-if、v-else-if、v-else
  • v-on
  • v-bind
  • v-for

1 文本指令

header.vue

<template>
  <div class="header">
    <h2>{{title1}}</h2>【{{title2}}】
    <p v-text="title2"></p>
    <p v-html="title2"></p>
  </div>
</template>

<script>
export default {
   data(){
    return{
      title1:"蜗牛学苑",
      title2:`<a href="https://www.jd.com">拼团业务</a>`,
    }
   }
}
</script>

{{}}插值表达式: 再指定标签中间,插入我们动态值

v-text指令:向双标签插入文本

v-html 指令:向双标签插入html代码

2 判断指令

v-show:

    <ul>
      <li v-show="false">aaaaaa</li>
    </ul>

v-show:接收的是boolean值

注意:v-show实现的是标签的显示和隐藏,当值为false时,表签会隐藏起来,我们只是看不见,但是它还在页面

<script>
export default {
   data(){
    return{
      flag:2
    }
   }
}
</script>

    <ul>
      <li v-show="false">aaaaaa</li>
      <li v-if="flag == 0">bbbbbbbb</li>
      <li v-else-if="flag == 1">cccccccccc</li>
      <li v-else>ddddddddddddd</li>
    </ul>

v-if、v-else-if、v-else

区别:

v-if值false,直接在页面上删除这个节点

v-show值false,通过内联样式 display:none 来控制他不显示

3 事件绑定指令

在Vue中任何的事件都是直接绑定标签上面,事件类型由你自己来定

   methods:{
    fun1(){
      alert("我被点了")
    },
    fun2(){
      alert("我又被点了")
    }
   }

    <button v-on:click="fun1()">点我啊</button>
    <button @click="fun2()">再点我啊</button>

v-on:事件类型 或 @事件类型

4 属性动态绑定

<template>
  <div>
    <a v-bind:href="link" >跳转1</a>
    <a :href="link">跳转2</a>
  </div>
</template>

<script>
export default {
  data(){
    return{
      link:"https://www.jd.com",
    }
  }
}
</script>

v-bind: 属性名可以简写为:属性名

二 选项卡实战

image-20230704170821921

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
假设你的课表数据是一个数组,每个元素包含了这门课程的信息,比如: ``` courses: [ { week: '1-10', time: '1-5', day: '星期一', name: '软件测试基础', location: '本部-实222' }, { week: '9-16', time: '6-9', day: '星期一', name: '大数据系统综合运用', location: '本部-实333' }, // ... ] ``` 然后你可以使用 `v-for` 指令循环遍历这个数组,渲染出课表: ``` <table> <thead> <tr> <th>时间</th> <th>星期一</th> <th>星期二</th> <th>星期三</th> <!-- ... --> </tr> </thead> <tbody> <tr v-for="i in 13"> <td>{{ i }}</td> <td v-for="j in 7"> <template v-for="(course, index) in courses"> <template v-if="course.day === weekdays[j] && isCourseInWeek(course.week, i) && isCourseInTime(course.time, j)"> <td :rowspan="getCourseDuration(course.time)" :key="index"> {{ course.week }}周({{ course.time }}节)-{{ course.day }}-{{ course.name }}-{{ course.location }} </td> </template> </template> </td> </tr> </tbody> </table> ``` 在模板中,我们使用两个嵌套的 `v-for` 循环遍历每个时间和每个星期,然后使用 `v-if` 指令过滤出符合条件的课程,并使用 `:rowspan` 属性控制单元格的跨度,渲染出课表。同时,我们还使用了一些辅助函数,比如 `isCourseInWeek` 和 `isCourseInTime` 来判断这门课程是否在当前周和当前时间段内,`getCourseDuration` 来计算这门课程的时间跨度。 完整的代码可能会比较长,这里只是给你一个大致的思路,希望对你有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值