Vue中的data配置项

1、介绍:

在 Vue.js 中,data 选项是一个非常重要且核心的概念。data 是一个对象或工厂函数,用于存储 Vue 实例或组件的可响应状态。这意味着任何在 data 中声明的属性都将被 Vue 的响应系统所追踪,当这些属性的值发生改变时,依赖于这些属性的视图部分将会自动更新。也就说data可以为Vue存储动态数据,当data数据发生变化时,实例或组件将会重新渲染,展现出更新后的data数据。

2、实例:

<!DOCTYPE html>
<html lang="en">
<head>
    //option对象中的data
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="./jsdocument/vue.js"></script>
</head>
<body>
    <div id="app"></div>
    <script>
       new Vue({
           data:{
               message:"Hello Vue!"
           },
           template:'<h1>{{message}}</h1>'
       }).$mount("#app")
    </script>
</body>
</html>

对上面代码的解释:

  • data是vue的对象,并且这个对象必须是存粹的对象。也就是说这个对象的组织形式必须是 key:value形式。
  • {{message}}是vue的插值语法,可以从data中提炼数据message,然后放到{{message}}对应位置
  • data可以是对象也可以是函数:

如果是对象那么可以为如下情况:

//情况一:
data:{
  message:"hello vue!"
}
//取值
{{message}}
//情况二:
data:{
  user1:{
  name:'老杜',
  age:18}
}
//取值:
{{user1.name}}
{{user1.age}}
//情况三“
data:{color['红色','黄色','蓝色']}
//取值:
{{color[0]}}

如果是函数,那么是下面情况:

Vue.component('my-component', {
  template: '<div>{{ message }}</div>',
  data: function() {
    return {
      message: 'Hello from component'
    };
  }
});
  • 执行过程:vue对template模板进行解析,如果遇到插值语法{{}},那么会从中data中读取对应数据然后插入对应位置,最后生成html代码

  • 注意:
    私有性:当 data 是一个函数时,每个组件实例都有独立的 data 副本,这保证了组件实例间的隔离。
    初始化:data 中的属性应该在组件初始化时就存在,以便 Vue 能够追踪它们。
    可响应性:在 data 中定义的属性是响应式的,这意味着当它们改变时,Vue 会检测到变化并触发视图的更新。
    访问方式:在组件的模板和方法中,你可以通过 this 关键字来访问 data 中的属性,例如 this.message。

posted @ 2024-07-05 23:27  BLBALDMAN  阅读(24)  评论(0编辑  收藏  举报