美文网首页
vue组件中的data为什么是函数

vue组件中的data为什么是函数

作者: SleepWalkerLj | 来源:发表于2021-01-24 13:38 被阅读0次

组件的本质可以说是一个可复用的vue实例,所以一个组件创建后就可以在各个地方多次复用,但组件中的data数据应该是互不影响的。

<div id="app">
    <!--现在组件复用了三次-->
    <cpn></cpn>
    <cpn></cpn>
    <cpn></cpn>
</div>
<template id="cpn">
    <div>
        <h2>{{msg}}</h2>
        <button @click="msg++">增加</button>
    </div>
</template>

Vue.component('cpn',{
        template:cpn,
        //当创建了多个组件实例,每次复用都会返回新的对象,内存地址是不一样的
        data(){
            return {
                msg:0
            }
        }
    })

结果:

msg互不影响
为了实现这一目标,vue利用了js的特性,data数据是以函数返回值的形式来定义,复用一次组件,就会返回一份新的data对象,于是每个组件实例都有了自己的作用域。如果data写成对象形式,因为内存地址是一样的,一个数据变了,其他地方都会变。

相关文章

  • vue 中的 data 为什么是函数?

    new Vue() 实例中,data可以是直接是一个对象,为什么在vue组件中,data必须是一个函数呢?因为组件...

  • 微信小程序和vue的区别

    数据类型 vue组件中data必须是函数 data(){return{}},new Vue中的选项可以是函数也可以...

  • Vue组件data必须是函数

    Vue组件data必须是函数 一、组件data() 函数 定义一个组件 注册组件Vue.component('cp...

  • Vue前端面试2021-018

    1、为什么组件中的data是一个函数? Vue中的组件是要被重复使用的,如果data只是一个对象,多个复用的组件他...

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

    首先看个例子 在new vue()中,data可以直接是一个对象,为什么在vue组件中,data必须是一个函数呢?...

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

    首先看个例子 在new vue()中,data可以直接是一个对象,为什么在vue组件中,data必须是一个函数呢?...

  • 9道vue面试题

    2.VUE组件data为什么必须是函数 答:Vue组件可能存在多个实例,如果使用对象形式定义data,则会导致它们...

  • 2022年vue面试题总结

    vue 中 data 为什么是一个函数 vue 组件的通信 vuex 的原理 vue 生命周期 v-if 与 v-...

  • vue题库

    为什么vue组件中data必须是一个函数? 组件是可复用的,当复用组件时,由于数据对象指向的是同一个data对象,...

  • 2020-02-29 Vue 中 data 为什么是一个函数

    [vue中组件的data为什么是一个函数] 1. 前言 在学习vue的时候,一直纳闷一件事:组件的data数据为什...

网友评论

      本文标题:vue组件中的data为什么是函数

      本文链接:https://www.haomeiwen.com/subject/uudmzktx.html