• 第二章 Vue快速入门--10-11 跑马灯效果制作


     1 <!DOCTYPE html>
     2 <html lang="en">
     3 
     4 <head>
     5   <meta charset="utf-8">
     6   <meta name="viewport" content="width=device-width,initial-scale=1.0">
     7   <title>Document</title>
     8   <!--1.导入Vue的包-->
     9   <!-- <script src="./lib/vue-2.6.10.js"></script> -->
    10   <script src=" https://cdn.jsdelivr.net/npm/vue"></script>
    11 
    12 </head>
    13 
    14 <body>
    15   <!-- 2.创建一个要控制的区域 -->
    16   <div id="app">
    17     <input type="button" value="浪起来" @click="lang">
    18     <input type="button" value="低调" @click="stop">
    19     <h4>{{ msg }}</h4>
    20   </div>
    21 
    22 
    23   <script>
    24       //注意:在VM实例中,如果想要获取 data 上的数据,或者想要调用methods中的方法,必须通过this.数据属性名  或 this.方法名   来进行访问,这里的this,就表示 我们 new 出来的VM实例对象
    25       var vm =  new Vue({
    26         el:'#app',
    27         data:{
    28           msg:'猥琐发育,别浪~~!',
    29             intervalId:null //在data上定义 定时器Id
    30           },
    31           methods:{
    32           //老写法: lang:function(){}
    33           //es6写法
    34           lang(){
    35             // console.log(this.msg)
    36           // var _this=this
    37           //=>箭头函数解决this指向的问题,箭头函数内部的this永远和箭头函数外部保持一致,外部的this指向VM实例,内部的this也是指向VM实例。箭头函数使内部的this指向外部的this
    38 
    39           if(this.intervalId !=null) return;
    40           this.intervalId= setInterval( () => {
    41               // 获取到头的第一个字符         
    42               var start = this.msg.substring(0,1)
    43             //获取到后面的所有字符
    44             var end=this.msg.substring(1)
    45             //重新拼接得到新的字符串,并赋值给 this.msg
    46             this.msg=end+start
    47           },400)
    48 
    49             //主要:VM实例,会监听自己身上data 中所有数据的改变,只要数据一发生变化,就会自动把最新的数据,从data上同步到页面中去;【好处:程序员只需要关心数据,不需要考虑如何重新渲染DOM页面】
    50           },
    51 
    52           stop(){ //停止定时器
    53             clearInterval(this.intervalId)
    54             //每当清除了定时器之后,需要重新把 intervalId 置为 null
    55             this.intervalId=null;
    56           }
    57         }
    58       })
    59 
    60       //分析:
    61       //1. 给【浪起来】 按钮,绑定一个点击事件 v-on @
    62       //2.在按钮的时间处理函数中,写相关的业务逻辑:拿到msg字符串,然后调用字符串的substring来进行字符串的截取操作,把第一个字符截取出来,放到最后一个位置即可;
    63       //3.为了实现点击下按钮,自动截取的功能,需要把 2 步骤中的代码,放到一个定时器中去;
    64     </script>
    65   </body>
    66   </html>
  • 相关阅读:
    IE无法引入css文件
    各个浏览器的兼容性及解决方法小结
    position的用法小结
    vertical-align的理解
    月薪5K和月薪10K,是能力问题还是公司问题?
    程序员如何在QQ群、微信群里装逼?
    一个计算机专业毕业生工作 5 年后的困惑
    CTO 比普通程序员强在哪?
    干程序员辣么久,你为什么还没有年薪60万?
    做一个App究竟要花多少钱?
  • 原文地址:https://www.cnblogs.com/songsongblue/p/10986954.html
Copyright © 2020-2023  润新知