Javascript 如何获取组件本身的容器名称?
如何获取组件本身的容器名称Javascript 如何获取组件本身的容器名称?,javascript,ember.js,ember-cli,Javascript,Ember.js,Ember Cli,如何获取组件本身的容器名称 this.componentNameStream用于在中进行某种工作 为什么??出于子类化原因: // in components/blah.js export default MyComponent.extend({}); // in templates/components/my-component.hbs <div class="someLayout"> // partialName is now "components/blah" {{
this.componentNameStream
用于在中进行某种工作
为什么??出于子类化原因:
// in components/blah.js
export default MyComponent.extend({});
// in templates/components/my-component.hbs
<div class="someLayout">
// partialName is now "components/blah"
{{ partial partialName }}
</div>
//在components/blah.js中
导出默认MyComponent.extend({});
//在模板/components/my-component.hbs中
//partialName现在是“组件/废话”
{{partialName}}
我不确定我是否完全理解您试图执行的操作,但不建议使用{{partial}
(请参阅)
为什么不使用layoutName
在两个组件之间共享一个模板呢
// in components/my-foo.js
export default Component.extend({
showSomething: false
});
// in components/my-bar.js
export default MyFooComponent.extend({
layoutName: "components/my-foo",
showSomething: true
});
// in templates/components/my-foo.hbs
<div class="someLayout">
{{#if showSomething}}
I am the bar component!
{{/if}}
</div>
//在components/my-foo.js中
导出默认组件。扩展({
证明某事:错误
});
//在components/my-bar.js中
导出默认MyFooComponent.extend({
布局名称:“组件/my foo”,
展示一些东西:真的
});
//在templates/components/my-foo.hbs中
{{{#如果展示某物}
我是酒吧的组成部分!
{{/if}
如果确实需要使用分部,可以使用包含分部名称的属性替换
showSomething
。我希望此类具有相同的布局,但模板不同。组件不能有模板,所以我选择了render
——保持父类独立于它的子类。我只是希望一切都能自动地、连贯地工作。谢谢你抽出时间。
// in components/my-foo.js
export default Component.extend({
showSomething: false
});
// in components/my-bar.js
export default MyFooComponent.extend({
layoutName: "components/my-foo",
showSomething: true
});
// in templates/components/my-foo.hbs
<div class="someLayout">
{{#if showSomething}}
I am the bar component!
{{/if}}
</div>