vue学习第一天

vue学习第一天

1、总结v-text和v-html和插值表达式的差别
(1)v-text属性,语法是:<标签名 v-text=“data中属性名”></标签名>
特点1是覆盖以前内容
特点2是不能渲染html代码到标签中
(2)v-html属性,语法是:<标签名 v-html=“data中属性名”></标签名>
特点1是覆盖以前内容
特点2是能渲染html代码到标签中

2.创建一个vue对象并和视图进行绑定,然后在该div中分别用插值表达式、v-text、v-html获取到vm下data中的msg的值

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div id="app">

    <!--1.{{}}插值表达式获取data内容-->
    <h3>The msg:{{msg}}</h3>
    <!--2.v-html属性获取data内容-->
    <div v-html="msg">======</div>
    <!--2.v-text属性获取data内容-->
    <div v-text="msg">=====</div>

</div>

<!--导入vue.js-->
<script src="js/vue.js"></script>
<script>

    var vm = new Vue({
        el: '#app',//el:element
        data: {
            msg: 'Hello,vue'
        }
    })
</script>
</body>
</html>

3.什么是MVVM模式,这样设计有什么优点
vue中有三个角色:V,M,VM,这就是MVVM模式,他们之间的区别在于:
M:model,表示数据存储者。
V:view,视图,表示显示给用户看的html代码。
VM:是一个中间者,承担着监视器的职责,它能够将M或V中的变化同步到另一方。
这样设计的优点在于View可以基于Model进行独立修改和变化,可以把一些视图逻辑放在一个ViewModel里面进行重用,而且在界面测试比较方便。

4、使用vue将下列data中cat的几条属性插入到页面之中

// 代码
var vm = {
	el: '#app',
	data: {
		cat: {
			name: '罗小黑',
			age: 8,
			desc: '是一只黑色的猫'
		}
	}
}

效果如下:
在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div id="app">
    <h1>姓名:{{cat.name}}</h1>
    <h1>年龄:{{cat.age}}</h1>
    <h1>描述:{{cat.desc}}</h1>
</div>

<!--导入vue.js-->
<script src="js/vue.js"></script>
<script>
    var vm = new Vue({
        el: '#app',
        data: {
            cat: {
                name: '罗小黑',
                age: 8,
                desc: '是一只黑色的猫'
            }
        }
    })
</script>
</body>
</html>

5、表情包无限加速,一键关闭功能改造

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div id="app">
    <p>{{face}}</p>
    <button @click="Swim">启动(加速)</button>
    <button @click="stop">停止</button>
</div>
    <script src="js/vue.js"></script>
    <script>
        var vm = new Vue({
            el: '#app',//el:element
            data: {
                face: '→_→ →_→ →_→ →_→ →_→ →_→ →_→ →_→ ',
                interval: null,
                speed:200
            },
            methods: {
                /*通过每次控制全局变量speed来实现单个定时器的控制,每次加速时需要清除上一个定时器*/
                Swim() {
                    if (this.interval != null) {
                        clearInterval(this.interval);
                        this.interval=null;
                        if(this.speed>=50){
                            this.speed=this.speed-10;
                        }
                    }
                    /*让face中的内容周期性改变,改变规则是将最后一个提取到最前面*/
                    this.interval = setInterval(() => {
                        /*将face中最后一位提取到第一位*/
                        var s = this.face;
                        var endstr = s[s.length - 1];
                        var startStr = s.substring(0, s.length - 1); //end的下标是减1
                        s = endstr + startStr;
                        this.face = s;
                    }, this.speed)
                    //alert('switch on')
                },
                stop() {
                    clearInterval(this.interval);
                    this.speed=200;
                    this.interval = null;
                    // alert('switch off')
                }
            }
        })
    </script>
</body>
</html>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值