VUE数据和方法

[复制链接]
发表于 5 天前 | 显示全部楼层 |阅读模式

image.png

let data={a:"张三"};
    let vue=new Vue({
        el:"#app",
        //data:data   不用定义对象的方式
        //以定义方法的形式去定义
        data(){
            return data
        }
    });
    console.log(vue);
    console.log(data.a==vue.$data.a);
    vue.a="李四";
    //此时data.a和vue.a是一个值
    console.log(data.a,vue.a);//两个值相同
data.a="王五";
    console.log(data.a,vue.a);//两个值 相同

?为什么用函数的形式定义data
data写成一个函数,数据以函数返回值的形式定义,这样每次复用组件的时候,都会返回一份新的data,相当于每个组件实例都有自己的私有空间,它们只负责维护各自的数据不会造成混乱。而写成对象形式,所有的组件实例共用了一个data,这样改一个全都改了可以理解成函数相当于局部作用域,对象相当于全局作用域。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

GMT+8, 2025-4-21 01:36 , Processed in 0.070962 second(s), 36 queries Archiver|手机版|小黑屋|Attic ( 京ICP备2020048627号 )

快速回复 返回顶部 返回列表