vuejs中的vm.$el问题

main.js(入口文件)中的实例化一个Vue实例,赋值给了一个变量vm,运行后可以获得id为app的DOM。

var vm = new Vue({

el: '#app',
router,
template: '<App/>',
components: {App}

});
console.log(vm.$el)

问题是:我只能在入口文件中获取vm.$el,并不能在其他文件获取,那这个vm.$el还有什么使用价值???

阅读 9.6k
1 个回答

是通过 Vue 命令行使用 webpack 项目模板生成的项目吗?

webpack 打包的基础是模块化,模块是一个个封闭的上下文,不但入口文件中的私有变量不能被其他文件获取,所有文件中的私有变量都不能在其他文件中获取。

只有通过 export 导出的值才可以在其他模块中访问,因此如果需要在其他模块中使用 vm,你需要 export vm。

因此你需要理解模块概念、ES6 的模块导入、导出操作,以及 webpack 中的一些配置知识。

欢迎参与学习 Vue 你需要知道的 webpack 知识讲座,讲座已成功上线,报名即可立即回看。

本讲座自 2017 年 7 月 11 日起一年内的收入捐给此轻松筹项目受助人。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题