vue-ES6规范

1.var/let/的区别以及const的特点

相同点

  • 三个都是用来声明变量的。

不同点

  • var声明的变量是全局的。
  • let声明的变量是块级的,想当于java中的局部变量。
  • const声明的变量为常量,不能改变。
<!--
        Vue实例挂载(el)的标签

            使用构造函数创建一个vue对象:
            这个对象作用与哪一个html标签,是通过el属性来挂载的,常用的有id和class挂载方式:
            id挂载:el:"#id"
            class挂载:el:".class"

        Vue中的数据(data)详解
        Vue实例的数据保存在配置属性data中, data自身也是一个对象.
        通过Vue实例直接访问和修改data对象中的数据,及时同步的页面上


 -->

<div id="myDiv1">
    {{msg}}
</div>
<div class="myDiv2">
    {{msg}}
    <hr />
    {{user.name}}今年{{user.age}}性别{{user.sex}}
</div>
<script>
    new Vue({
        el: "#myDiv1",
        data: {msg: "我是id挂载方式"}
    })

    var x = new Vue({
        el: ".myDiv2",
        data: {
            msg: "我是类加载器方式",
            user: {
                name: "隔壁老王",
                age: "20",
                sex: "男"
            },
        },

    })

    // 通过Vue实例直接修改data对象中的数据,及时同步的页面上
    x.user.name="王哈哈";


    /*
    * let相较于var,他是块级的。
    * */

    for (var i = 0;i<10;i++){
        console.debug(i);

    }
    console.debug("var" + i);
    console.debug("-----------")
    for (let i= 0;i<10;i++){
        console.debug(i);
    }
    console.debug("let" + i);


    /*
    *  const声明常量不能修改
    * */
    const x1 = 10;
    /*x = 5;*/
</script>

解构表达式

<script type="text/javascript">
   //数组解构:
    var arr = [1,2,3];
    //在es5中,取值如下
    console.debug(arr[0] + arr[1] + arr[2]);
    //在es6中,使用解构表达式
    var [a1,a2,a3] = arr;
    console.debug(a1,a2,a3);

    //对象解构:
    var obj = {"name":"王哈哈","age":20};
    var {name,age} = obj;
    console.debug(name,age);

</script>

3、声明函数

定义函数有三种写法

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script type="text/javascript">
    /*
    * 定义函数有三种写法
    * */
    var person = {
        name:"王哈哈",
        age:20,
        //方法1:最原始的写法
        eat:function(food){
            console.log(name+food);
        },
        //方式2:简洁写法
        eat1:(food){
            console.log(name+food);
        },
        //方式3:箭头函数
        eat1:(food)=>console.log(name+food),
    }
    Person.eat("小馒头");
    Person.eat1("小小馒头");
    Person.eat2("小小小馒头");
</script>
</body>
</html>

4、promise使用

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script type="text/javascript">
    /*Promise对象--可以发送ajax请求*/
    const p = new Promise((a, b) =>{
        // 这里我们用定时任务模拟异步
        setTimeout(() => {
            //得到一个随机数
            const num = Math.random();
            // 随机返回成功或失败
            if (num < 0.5) {
                a("成功!num:" + num)
            } else {
                b("出错了!num:" + num)
            }
        }, 300); //模拟延迟
    }).then(function (msg) {
        console.log("----then----")
        console.log(msg);
    }).catch(function (msg) {
        console.log("----catch----")
        console.log(msg);
    });
    //axios.get(url,params,function())
</script>
</body>
</html>

5.模块化

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="b.js"></script>
</head>
<body>


</body>
</html>

5.1 b.js导入

/*(1)import util from 'a.js';

console.log(util.sum(1,2));
console.log("11111111");*/
//打包工具 webpack 转义 编译成浏览器能够执行的代码
//前端 和 后端
//(2)import {a,b} from 'a.js';

//(3)
/*
import xxx from 'a.js';
xxx.sum();*/


5.2 a.js 导出

/*(1)const util = {
    sum(a,b){
        return a+b;
    }
}
//导出
export util;*/

/*(2)var a= 'xx';
var b= 'yyy';
export {a,b};*/

//(3)
export default  {
    sum(a,b){
        return a+b;
    }
}

6.vue的生命周期

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="node_modules/vue/dist/vue.js"></script>
</head>
<body>

<!--
     生命周期:
                每个 Vue 实例在被创建时都要经过一系列的初始化过程 :创建实例,装载模板,渲染模板等等。
                Vue为生命周期中的每个状态都设置了钩子函数(监听函数)。
                每当Vue实例处于不同的生命周期时,对应的函数就会被触发调用。
-->

<div class="myDiv">
    {{mssage}}
</div>


<script>
    new Vue({
        el:".myDiv",
        data:{
            mssage:""
        },

        /*
        * created代表在vue实例创建后;
        * */
        created(){
            this.mssage = "王哈哈";
            console.debug("我来了1");
        },

        mounted() {
            console.debug("我来了2");
        },

    })
</script>

</body>
</html>

7.通过Vue对象实例调用方法

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="node_modules/vue/dist/vue.js"></script>
</head>
<body>

<!--

        通过Vue对象实例调用方法
        //方法调用①:通过Vue对象实例调用方法
-->

<div class="myDiv">
    {{mssage}}

    <!--方法的调用②直接在html模板标签中调用:-->
    {{say()}}
    {{sing()}}
</div>


<script>
    var h = new Vue({
        el: ".myDiv",
        data: {
            mssage: "",
            user: {
                name: "隔壁老王",
                age: 20,
            }
        },
        methods: {
            say: function () {
                //this指向当前对象,当前app对象
                return "hello:" + this.user.name + "!";
            },
            sing() {
                console.debug("我唱歌好听。。。");
            }
        },
    })

    //方法调用①:通过Vue对象实例调用方法
    alert(h.say());

</script>

</body>
</html>
发布了8 篇原创文章 · 获赞 0 · 访问量 105

猜你喜欢

转载自blog.csdn.net/weixin_45737653/article/details/104422197
今日推荐