vue2 实验

<template>
<div class="vueBox" >
    <div class="marquee">
        <div class="marquee_title">
            <span>最新战报</span>
        </div>
        <div class="marquee_box">
            <ul class="marquee_list" :style="{ top: -num + 'px'}" :class="{marquee_top:num}">
            <!-- 当显示最后一条的时候(num=0转换布尔类型为false)去掉过渡效果-->
                <li v-for="(item, index) in items" >
                    <span>{{item.name}}</span>
                    <span>在</span>
                    <span class="red"> {{item.city}}</span>
                    <span>杀敌</span>
                    <span class="red"> {{item.amount}}</span>
                    <span>万</span>
                </li>
            </ul>
        </div>
    </div>
</div>
</template>

<script>


  export default {
    name: 'Demo05',
     data() {
            return {
                items: [
                {
                    name:'1军',
                    city:'北京',
                    amount:'10'
                },
                {
                    name:'2军',
                    city:'上海',
                    amount:'20'
                },
                {
                    name:'3军',
                    city:'广州',
                    amount:'30'
                },
                {
                    name:'4军',
                    city:'重庆',
                    amount:'40'
                },
                {
                    name:'5军',
                    city:'杭州',
                    amount:'50'
                }
            ]
            }
        },


      created(){
                setInterval(this.scroll,1000)
            },
methods: {
    scroll(){
       setTimeout(()=>{      //  这里直接使用了es6的箭头函数,省去了处理this指向偏移问题,代码也比之前简化了很多
               this.items.push(this.items[0]);  // 将数组的第一个元素添加到数组的
               this.items.shift();               //删除数组的第一个元素,打印的是剩下的数组
       
       },500)
    }
}

  }
</script>
<style scoped>
 div,ul,li,span,img{
            margin:0;
            padding:0;
            display: flex;
            box-sizing: border-box;
        }
        .marquee{
            width: 100%;
            height: 200px;
            align-items: center;
            color: #3A3A3A;
            background-color: aqua;
            display: flex;
            box-sizing: border-box;
        }
        .marquee_title{
            padding: 0 20px;
            height: 30px;/*关键样式*/
            font-size: 14px;
            border-right: 1px solid #d8d8d8;
            align-items: center;
        }

        .marquee_box{
            display: block;
            position: relative;
            width: 60%;
            height: 90px;/*关键样式*/
            overflow: hidden;
        }
        .marquee_list{
            display: block;
            position: absolute;
            top:0;
            left: 0;
        }
        .marquee_top{transition: top 0.5s ;}/*关键样式*/
        .marquee_list li{
            height: 30px;/*关键样式*/
            line-height: 30px;/*关键样式*/
            font-size: 14px;
            padding-left: 20px;
            background-color: #fff;
        }
        .marquee_list li span{
            padding:0 2px;
        }
        .red{
            color: #FF0101;
        }
</style>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
在我使用 Vue 创建实例的过程,我发现 Vue 提供了非常丰富的选项和配置,可以帮助我们定制化地构建组件和应用。下面是我的一些实验心得: 1. el 选项 el 选项表示 Vue 实例挂载的 DOM 元素,可以是一个 CSS 选择器字符串,也可以是一个实际的 DOM 元素。例如: ```javascript new Vue({ el: '#app' }) ``` 这里的 #app 表示一个 id 为 app 的 DOM 元素,Vue 实例将会挂载到这个元素上。 2. data 选项 data 选项表示 Vue 实例的数据,它是一个对象类型。在 Vue ,所有的数据都应该被定义在 data ,这样才能实现数据的响应式更新。例如: ```javascript new Vue({ data: { message: 'Hello Vue!' } }) ``` 这里的 message 就是 Vue 实例的一个属性,它的值可以通过模板的插值表达式 {{ message }} 来显示。 3. methods 选项 methods 选项表示 Vue 实例的方法,它也是一个对象类型。在 Vue ,我们可以定义一些方法来处理用户的交互和数据的变化。例如: ```javascript new Vue({ data: { message: 'Hello Vue!' }, methods: { reverseMessage() { this.message = this.message.split('').reverse().join('') } } }) ``` 这里的 reverseMessage 方法可以将 message 属性的值进行反转,并更新到 Vue 实例。 总之,Vue 提供了非常灵活的选项和配置,可以帮助我们构建出高效、易用、可维护的组件和应用。在实验,我深刻体会到了 Vue 的响应式数据和组件化开发的优越性,这些都使得 Vue 成为一个非常优秀的前端框架。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zhousenshan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值