0

我有一个 lightnoing 应用程序应用程序,其中包含一个闪电组件 C1 此组件包含另一个 C2 一个实现 2 个相关选项列表的问题是 C2 需要来自 C1 组件的属性值但是由于子组件 init (C2) 在父母一个初始化(C1),所以孩子不能正常工作你能帮帮我吗?谢谢

4

2 回答 2

1

这个问题的快速解决方案是代替使用初始化处理程序,您可以在C2组件中使用更改处理程序。因此,代码将类似于,

({
  doAction : function(component, event, helper) {
    // Access "data" using standard component.get()  
  }
})
<!-- C1 component -->
<aura:component>
  <aura:attribute name="dataForC2" type="Object"/>
  <c:C2 data = "{!v.dataForC2}"/>
</aura:component>

<!-- C2 component -->
<aura:component>
  <aura:attribute name="data" type="Object"/>
  <aura:handler name="change" value="{!v.data}" action="{!c.doAction}"/>
</aura:component>

于 2018-07-30T12:27:08.950 回答
0

要解决此问题,您需要在完成父级的 init 方法时为其创建一个布尔属性,然后将其设为 true,以便它可以用于子级 init 方法

注意:在 aura:if 中使用子组件在父组件中

于 2018-09-11T14:14:41.557 回答