假设我有一个深层嵌套的组件结构,我不想存根所有子组件及其子组件的依赖项(主要是服务和ajax调用).有没有办法将Ember.Component.create({})容器注入容器中以替换该测试的真实容器.它似乎应该是可能的,但我似乎无法弄清楚语法或在任何地方找到它.
经过多次试验后,结果非常简单:
moduleForComponent('test-component', 'Integration | Component | test', {
integration: true,
beforeEach: function () {
this.owner.register('component:test-component2', Ember.Component.extend());
}
});
Run Code Online (Sandbox Code Playgroud)
现在{{test-component2}}里面{{test-component}}将成为默认的Ember组件.
也存根模板添加this.owner.register('template:components/test-component2', '')的beforeEach回调.
对于Ember 2使用this.register(...)而不是this.owner.register(...).
编辑:基于注释更新(Ember 3语法,模板存根)
| 归档时间: |
|
| 查看次数: |
759 次 |
| 最近记录: |