为了账号安全,请及时绑定邮箱和手机立即绑定

为什么.vue文件需要使用export default

为什么.vue文件需要使用export default

qq_遁去的一_1 2018-12-19 17:15:43
因为项目要使用vue开发。学习了一段时间之后有几个问题一直困惑着我:(1)首先就是.vue结尾的文件为何需要export default,就像下面的代码一样?(2)为什么data需要return,我不用return,直接 data(){    menu:MENU.data,    poi:POILIST.data}不行吗?这两个问题问了几个人都不能给我合理的解释,求懂的兄弟们给个帮助,谢谢了。<script>    import { POILIST, MENU } from '../config/vuex.js';    export default {        data() {            return {                menu: MENU.data,                poi: POILIST.data            }        },        methods: {            set() {                MENU.list.push('首页');                POILIST.list.push({                    lng: 124.1,                    lat: 42.3                });            }        }    }</script>
查看完整描述

1 回答

?
ABOUTYOU

TA贡献1812条经验 获得超5个赞

export default是ES6的语法,意思是将这个东西导出,你要import 引入东西,导出了才能引用,data是一个函数是因为data是被很多组件共享的,如果 data 是一个的对象的话,每次实例化会造成所有的实例共享引用同一个数据对象,如下


var fnc= function() {}

fnc.prototype.data = {

  a: 1,

  b: 2,

}


var fnc1 = new fnc()

var fnc2 = new fnc()


fnc1.data.a === fnc2.data.a // true

fnc2.data.b = 1;

fnc2.data.b // ==1

data 是函数的话,每次创建一个新实例后,调用 data 函数,用return返回初始数据的一个全新副本数据对象,就避免了所有实例共享引用同一个数据对象。


查看完整回答
反对 回复 2019-01-19
  • 1 回答
  • 0 关注
  • 2129 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信