Salesforce Aura开发中如何将父组件布尔值实时传递到子组件
解决方法
- 第一步:在子组件中声明公开接收的布尔属性
首先给子组件添加属性定义,设置公开访问权限允许父组件传值:<aura:attribute name="isActive" type="Boolean" access="public" default="false"/> - 第二步:父组件引用子组件时绑定属性值
在父组件插入子组件的位置,将父组件自身的isActive属性和子组件的对应属性做动态绑定,即可实现父组件值更新时自动同步给子组件:
注意绑定语法必须用<!-- 把“你的子组件名”替换为你实际的子组件API名称 --> <c:你的子组件名 isActive="{!v.isActive}" />{!v.属性名},不要用{#v.属性名},后者是一次性单向赋值,不会实时同步更新 - 第三步:修正子组件的类名判断逻辑
你当前子组件代码里的v.siActive是拼写错误,多了一个字母s,修改为和子组件定义的属性名一致即可:<div class="{!v.isActive ? 'bg-red' : ''}"> ........ </div>
完成以上配置后,父组件的isActive值更新时会自动同步到子组件的对应属性,类名会自动切换,不需要额外编写事件监听逻辑。
内容的提问来源于stack exchange,提问作者Fergoso
相关产品推荐
相关产品推荐

