我有两个组成部分:
<parent-component type="permanent">
<div child-component></div>
</parent-component>
class ParentComponentCustomElement {
@bindable public type: string = "permanent";
}
class ChildComponentCustomAttribute {
public attached() {
// how to get the instance of ParentComponentCustomElement here?
}
}
我需要访问父级的type
属性才能有条件地向子组件添加一些类。
我可以通过DOM遍历父树并查找这个特定的组件,但我不认为这是正确的方法。
答案 0 :(得分:0)
您是否尝试为自定义属性实现bind()方法?尝试这样的事情:
bind(bindingContext, overrideContext) {
console.log(overrideContext.parentOverrideContext.bindingContext.somePropertyFromParentViewModel);
}
来源:http://aurelia.io/hub.html#/doc/article/aurelia/framework/latest/creating-components/3
答案 1 :(得分:0)
原来我可以将父ViewModel注入子组件,如下所示:
SignedParts
请注意,这也很方便,因为它遍历父树,直到找到您实际查找的组件,因此子项可以包含在一个完全不同的组件中,这仍然有效。