Vue组件data选项为什么必须是个函数而Vue的根实例则没有此限制?
基本知识了解 在解答这个问题之前,需要了解js的数据类型,即基本数据类型和引用数据类型的差异。具体可阅读这篇文章
组件data为函数缘由 在创建或注册模板的时候传入一个 data 属性作为用来绑定的数据。但是在组件中,data必须是一个函数,因为每一个 vue 组件都是一个 vue 实例,通过 new Vue() 实例化,引用同一个对象,如果 data 直接是一个对象的话,那么一旦修改其中一个组件的数据,其他组件相同数据就会被改变,而 data 是函数的话,每个 vue 组件的 data 都因为函数有了自己的作用域,互不干扰。
Vue根实例data为JSON缘由 【Vue|Vue组件data选项为什么必须是个函数而Vue的根实例则没有此限制()】Vue根实例没有此限制的原因是在一个Vue项目中,根实例不会出现被复用的情况,因此不必要求data一定是一个返回对象的函数
推荐阅读
- JavaScript|vue 基于axios封装request接口请求——request.js文件
- vue.js|vue中使用axios封装成request使用
- 前端|web前端dya07--ES6高级语法的转化&render&vue与webpack&export
- vue.js组件开发
- 前端开发|Vue2.x API 学习
- vue|Vue面试常用详细总结
- javascript|vue使用js-xlsx导出excel,可修改格子样式,例如背景颜色、字体大小、列宽等
- vue.js|后端开发学习Vue(一)
- JS|VUE学习笔记[30-46]
- vue|电商后台管理系统(vue+python|node.js)