vue入门 day01

1、总结一下v-text和v-html和插值表达式的差别

插值表达式
特点1、是不覆盖以前的内容
特点2、不能将内容解析为html格式
2、v-html属性
特点1是覆盖以前内容
特点2是能渲染html代码到标签中   
3、v-text属性
特点1是覆盖以前内容
特点2是不能渲染html代码到标签中 

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

<div id="app">
    <!--1、{{}}插值表达式获取data内容,
    特点1、是不覆盖以前的内容
    特点2、不能将内容解析为html格式-->
    <h3>{{msg}}</h3>
    <h3>{{msg2}}</h3>
    <!--2、v-html属性,
    语法是:<标签名 v-html="data中的属性名"></标签名>
    特点1是覆盖以前内容
    特点2是能渲染html代码到标签中
    -->
    <div v-html="msg2"></div>
    <!--3、v-text属性,
    语法是:<标签名 v-text="data中的属性名"></标签名>
    特点1是覆盖以前内容
    特点2是不能渲染html代码到标签中
    -->
    <div v-text="msg2">======</div>
</div>
<!--导入vue.js-->
<script src="js/vue.js"></script>
<script>
    //var obj = {}//{}表示字面量创建对象
    /*创建一个变量叫vm,vm关联了el所指向的html代码{#app}和data中的内容,所以#app可以通过各种方式获取带data的数据*/
    /*用new Vue创建一个vm对象并传了一个对象给他,传递的这个对象里面写了vm实例所需用到的数据*/
    var vm = new Vue({
        /*创建一个变量叫vm,vm关联了el所指向的html代码和data属性中的内容,所以#app下可以通过各种方式获取到data中的数据*/
        el: '#app', //elemen的缩写
        data: {
            msg: 'Hello world.',
            msg2:'<h1>msg2</h1>'
        }
    })
</script>

3、什么是MVVM模式,这样设计有什么优点

/*M V VM*/
/*M:model ,表示数据的存储者*/
/*V:view 视图 ,表示显示给用户看的html代码*/
/*VM:是一个M 和 V 的中间者,承担着监视器的责任,它能将M或V中的数据变化同步到另一  方*/

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

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

效果如下:
在这里插入图片描述
5、表情包无限加速,一键关闭功能改造

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div id="app">
    <p>{{face}}</p>
    <!--@click调用无参方法可以不写括号-->
    <button @click="swim">动起来</button>
    <button @click="stop">停下来</button>
</div>
<script src="js/vue.js"></script>
<script>
    var vm = new Vue({
        el: '#app', //element的缩写
        data: {
            time:200,
            interval:null,
            face:'→_→ →_→ →_→ →_→ →_→ →_→ →_→ →_→'
        },
        methods:{
            swim(){
                if(this.interval != null){
                    clearInterval(this.interval);
                    this.time -= 40;
                }

                this.interval = setInterval(() =>  {
                    var s = this.face;
                    var endstr = s[s.length - 1];
                    var startStr = s.substring(0,s.length - 1);//前闭后开
                    s = endstr + startStr;
                    this.face = s;
                },this.time)
            },
            stop(){
                clearInterval(this.interval);
                this.interval = null;
                //alert('stop');
            }
        }
    })
</script>
</body>
</html>

猜你喜欢

转载自blog.csdn.net/weixin_44891757/article/details/103929711