课程章节介绍
让我们来聊聊如何在Salesforce的Lightning组件中定义和使用公共API方法。这个功能非常有用,特别是当你想要让一个父组件直接调用子组件中的函数时。
首先,我们需要在子组件中定义一个公共方法。这个方法是使用``标签来声明的。在这个标签内部,我们可以定义这个方法需要的参数,这些参数是通过``标签来指定的。每个参数都可以设置类型和默认值。
例如,假设我们有一个子组件`Child.cmp`,我们想要定义一个名为`sampleMethod`的公共方法,这个方法接受一个字符串类型的参数`param1`。我们可以这样写:
```html
```
在这个例子中,`sampleMethod`是一个公共方法,它可以在父组件中被调用。这个方法有一个参数`param1`,它的类型是`String`,并且有一个默认值`"parameter 1"`。
接下来,我们来看看如何在父组件中调用这个子组件的公共方法。首先,我们需要在父组件中引用子组件,并给它一个`aura:id`,这样我们就可以在父组件的控制器中找到它。
```html
```
在这个父组件中,我们有一个按钮,当点击这个按钮时,会触发父组件控制器中的`click`函数。在这个函数中,我们可以通过`aura:id`找到子组件,并调用它的`sampleMethod`方法。
```javascript
({
click: function(component, event, helper) {
var childComponent = component.find("child");
childComponent.sampleMethod("新的参数值");
}
})
```
在这个控制器函数中,我们首先通过`component.find("child")`找到子组件,然后调用它的`sampleMethod`方法,并传递一个新的参数值。
总结一下,通过使用``,我们可以在子组件中定义公共方法,然后在父组件中调用这些方法。这种方式比使用事件更加直接和简单,特别是在父组件需要直接控制子组件行为的时候。希望这个解释对你有帮助!