辛巴的2020年Vue全套教程 学习笔记P4 指令的使用 评分小

2021-01-25  本文已影响0人  陆碌

在b站听《辛巴的2020年Vue全套教程》想着听完课记录一下学习笔记方便自己复习~

iconfont获取小星星

<link rel="stylesheet" href="https://at.alicdn.com/t/font_2346588_7p92ofokwao.css">

注意!
- 这个link 要写在style 的前面,不然会覆盖后面的css样式,我就是写在style 后面导致i 标签调试半天也没有改变大小
- 还有地址前面要加上https,不加也是会报错找不到的

<i class="iconfont icon-star star" v-for="item in 10"></i>
<i class="iconfont icon-star1 star" v-for="item in 10"></i>
 .star{
           font-size: 60px;
           color: gold;
       }        

效果

使用vue指令调整多少分

观察上图可以发现,我这是实现了20个星星得10分的效果,
那我只需要设置前几颗星星的样式就能模拟选了多少分

<div id="app">
        <h1>666</h1>
        <i class="iconfont  star" :class="item<=3? 'icon-star':'icon-star1'" v-for="item in 10"></i>
</div>

那我就可以把这个3 变成变量放到vue的data中

 data() {
      return {
          count:3
      }
 },

悬浮和确定

<div id="app">
        <h1>{{oldCount}} - {{count}}</h1>
        <i class="iconfont  star" 
        :class="item<=count? 'icon-star':'icon-star1'" 
        v-for="item in totalCount"
        @mouseenter = "count = item "
        @mouseleave = "count = oldCount "
        @click = " oldCount = item"
        ></i>
    </div>
  data() {
                return {
                   count:3,
                   oldCount:3,
                   totalCount:10,
                }
            }

完整代码

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="https://at.alicdn.com/t/font_2346588_7p92ofokwao.css">
    <style>
        *{
            padding: 0;
            margin: 0; 
            list-style: none;
        }
       
       .star{

           font-size: 60px;
           color: gold;
       }     
    </style>  
</head>
<body>
   
    <div id="app">
        <h1>{{oldCount}} - {{count}}</h1>
        <i class="iconfont  star" 
        :class="item<=count? 'icon-star':'icon-star1'" 
        v-for="item in totalCount"
        @mouseenter = "count = item "
        @mouseleave = "count = oldCount "
        @click = " oldCount = item"
        ></i>
    </div>


    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
    <script>    
        let vm = new Vue({
            el: "#app",
            data() {
                return {
                   count:3,
                   oldCount:3,
                   totalCount:10,
                }
            }
        }) 
    </script>
</body>

</html>
上一篇 下一篇

猜你喜欢

热点阅读