Vue.js Vue数据功能结构有什么不同
我想知道以下格式之间有什么不同,是否有不同的效果:Vue.js Vue数据功能结构有什么不同,vue.js,vuejs2,Vue.js,Vuejs2,我想知道以下格式之间有什么不同,是否有不同的效果: data:function(){ 返回{ 姓名:'约翰', 电话:12345 } } 以下是另一种格式: 数据:{ 姓名:'约翰', 电话:12345 } 使用Vue,您肯定会问自己这样一个问题:“为什么数据必须是一个返回对象的函数,而不仅仅是一个对象?” 特别是考虑到在某些地方,数据不是一个函数,正如您在几个示例中最可能在应用程序组件中看到的那样 解释是当组件被多次使用时,如果它不是一个函数,而是一个常规对象,如下所示: 数据:{ 姓名:'
data:function(){
返回{
姓名:'约翰',
电话:12345
}
}
以下是另一种格式:
数据:{
姓名:'约翰',
电话:12345
}
使用Vue,您肯定会问自己这样一个问题:“为什么数据必须是一个返回对象的函数,而不仅仅是一个对象?”
特别是考虑到在某些地方,数据不是一个函数,正如您在几个示例中最可能在应用程序组件中看到的那样
解释是当组件被多次使用时,如果它不是一个函数,而是一个常规对象,如下所示:
数据:{
姓名:'约翰',
电话:12345
}
然后,由于JavaScript的工作方式,该组件的每个实例都将共享此属性。
在99.9%的情况下,这不是您想要的,相反,您必须做到:
数据:函数(){
返回{
姓名:'约翰',
电话:12345
}
}
一开始这可能不直观,但一旦你接受了这个解释,并了解到它对你的应用程序有害,并且可能是bug的来源,你就会记得总是使用函数来处理数据。使用Vue,你肯定会问自己这个问题为什么数据必须是一个返回对象的函数,而不仅仅是一个对象 特别是考虑到在某些地方,数据不是一个函数,正如您在几个示例中最可能在应用程序组件中看到的那样 解释是当组件被多次使用时,如果它不是一个函数,而是一个常规对象,如下所示: 数据:{ 姓名:'约翰', 电话:12345 } 然后,由于JavaScript的工作方式,该组件的每个实例都将共享此属性。 在99.9%的情况下,这不是您想要的,相反,您必须做到: 数据:函数(){ 返回{ 姓名:'约翰', 电话:12345 } } 起初这可能不直观,但一旦您接受了这一解释,并了解到它对您的应用程序有害,并且可能是bug的来源,您将记住始终使用函数来处理数据。请参见:请参见: