升级Ember 3.16至5.12后组件意外使用父组件模板的问题求助
升级Ember 3.16至5.12后组件意外使用父组件模板的问题求助
各位Ember开发者们好!最近我把项目从Ember 3.16升级到5.12之后,碰到了一个特别诡异的问题——我自定义的password-with-generator组件,居然开始使用它所继承的父组件的模板了!
先说明下我的组件结构,项目里一直用的是共置模板(co-located template),目录结构是这样的:
password-with-generator ├── component.js └── template.hbs
组件的component.js开头代码是这样的:
import { computed, get, set } from '@ember/object'; import { alias } from '@ember/object/computed'; // 这里继承了项目里的某个父组件,比如: // export default ParentPasswordComponent.extend({ // // 子组件的自定义逻辑 // });
我明明给这个子组件单独写了template.hbs,但现在页面渲染时,完全不加载这个子组件的模板内容,直接用了父组件的模板。之前在3.16版本的时候完全正常,升级后才突然出现这个问题。
有没有大佬碰到过类似的升级坑?想请教下几个问题:
- Ember 3.x到5.x版本之间,组件模板的加载/解析逻辑有没有什么重大变更?
- 共置模板的命名或者关联方式在新版本里是不是有了新要求?
- 组件继承的写法在新版本里会不会有兼容问题,导致模板关联错误?
内容来源于stack exchange
相关产品推荐
相关产品推荐

