使用的是vue全家桶+typescript+electron开发的项目
layout.vue
开发环境
生产环境
感觉应该是打包的时候把代码压缩了,顺便把name值也给压缩了...以前写name没什么问题,但是上了ts,name就出现了问题。有知道怎么解决的吗?组件的name字段在本项目中有很重要的作用,其他代替的方案也有,但是比较麻烦,许多代码需要重构!
使用的是vue全家桶+typescript+electron开发的项目
layout.vue
开发环境
生产环境
感觉应该是打包的时候把代码压缩了,顺便把name值也给压缩了...以前写name没什么问题,但是上了ts,name就出现了问题。有知道怎么解决的吗?组件的name字段在本项目中有很重要的作用,其他代替的方案也有,但是比较麻烦,许多代码需要重构!
我是注册全局组件的时候遇到了这个问题,导致打包后自定义的全局组件都没有渲染出来。这时候组件还没有实例化,获取不到$options,后来通过设置一个静态属性的名称解决了,这个名称任何时候都能获取到:
export default class CompGrid extends Vue {
static ComponentName = 'comp-grid';
}
需要用的时候:
Vue.component(CompGrid.ComponentName, CompGrid);
Jyx的component.options.name更优解
9 回答1.7k 阅读✓ 已解决
6 回答942 阅读
3 回答1.3k 阅读✓ 已解决
4 回答949 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
3 回答854 阅读
3 回答1.3k 阅读✓ 已解决
在这里加上name属性就可以了