首先说 data在不同状态下到底是对象或function
- 在一个普通的vue实例中 data是一个对象 ,
new Vue( {
data : {
title : ''object"}
} );
- 在一个普通的vue实例中 data是一个function ,
Vue.component( 'component-name', Vue.extend( {data : function() {return {title : 'abc'};
}
} ) );
为仕么要在组件中写成function
组件被定义,data 必须声明为返回一个初始数据对象的函数,因为组件可能被用来创建多个实例。如果 data 仍然是一个纯粹的对象,则所有的实例将共享引用同一个数据对象!通过提供 data 函数,每次创建一个新实例后,我们能够调用 data 函数,从而返回初始数据的一个全新副本数据对象。(也就是说写成函数,会有函数作用域的概念 ,是私有函数,只作用到当前组件中)
【在vue中 data是一个对象 或是一个方法的区别】参考自 https://cn.vuejs.org/v2/api/?#data
推荐阅读
- JavaScript|vue 基于axios封装request接口请求——request.js文件
- 前端|web前端dya07--ES6高级语法的转化&render&vue与webpack&export
- 前端开发|Vue2.x API 学习
- vue|Vue面试常用详细总结
- vue|电商后台管理系统(vue+python|node.js)
- 腾讯TEG实习|腾讯实习——Vue解决跨域请求
- Vue|vue-router 详解
- vue|vue3替代vuex的框架piniajs实例教程
- Vue|Vue3.0的插槽是如何实现的()
- 前端|面试官(谈谈Vue和React的区别())