<!--c:parent-->
<aura:component>
<aura:attribute name="parentAttr" type="String" default="parent attribute"/>
<!-- 调用子组建时有两种办法传递参数--><!-- 下边儿这种是引用传递,如果子组件里对变量进行了变化,父组件里也会发生变化-->
<c:child childAttr="{!v.parentAttr}" /><!-- 下边儿这种是值传递,如果子组件里对变量进行了变化,父组件里不会发生变化 String 除外-->
<c:child childAttr="{#v.parentAttr}" />
</aura:component>
在例如下边儿代码,用“#”来把父组件的变量传递给子组件,父组件里的变化或者子组件的变化不会互相影响,相反如果使用“v”来传递的话,如果父/子任意更新都会影响到对方。
<!--c:parentExpr-->
<aura:component>
<aura:attribute name="parentAttr" type="String" default="parent attribute"/><!-- Instantiate the child component -->
<c:childExpr childAttr="{#v.parentAttr}" />
<p>parentExpr parentAttr: {!v.parentAttr}</p>
<p><lightning:button label="Update parentAttr"
οnclick="{!c.updateParentAttr}"/></p>
</aura:component>