240 发简信
IP属地:浙江
  • 针对这个问题,不知道为什么很多人用这个例子,例子本身有很多漏洞,完全可以在构造器中初始化数据,而且互不干扰。这个问题的原因是vue文件中的对象会作为选项(option)构建组件实例,当存在多个相同组件被引用,其实都是基于同一份对象进行构建,如果data是对象,则这些组件data都会指向同一个对象,因为会互相影响。使用函数就可以在构建时调用函数生成对象,此时组件之间的data互不干扰。

    为什么vue中data必须是一个函数

    首次发表在个人博客 本篇文章从javascript原型链来解释为什么vue中data必须是一个函数 vue组件中的data必须是函数 类比引用数据类型Object是引用数据类...

  • 提问:谢谢楼主!,那个请教下,这个datas对象赋值 为什么需要写到prototype上呢?~写到function里面,this.data = 一个对象,也是一样可以给data值分配不同的地址空间,实例也不互相影响的。

  • 为什么不这样写,每个实例data也不会互相影响啊,data也不需要就是函数啊
    Component = function() {
    this.data = {demo: 123}
    };

    vue组件data为什么必须是函数

    首先看个例子 在new vue()中,data可以直接是一个对象,为什么在vue组件中,data必须是一个函数呢?我们大致可以通过js原型链来对比下: 从上面可以看出,两个实...

  • 为什么不这样呢?就不会引用同一个对象
    MyComponent = function() {
    this.data = {
    a: 1,
    b: 2,
    }
    }

    Vue 组件 data为什么是函数?

    https://www.cnblogs.com/libin-1/p/6878057.html 在创建或注册模板的时候,传入一个data属性作为用来绑定的数据。但是在组件中,d...