Using $A.createComponent()

DEX601 - Unit 6 Building Advanced Components

📄 第 439 页 🎬 视频课程

课程章节介绍

今天我们来聊聊如何在Salesforce的Lightning框架中使用`$A.DeliverElement()`函数来动态实例化组件。这个功能非常强大,可以让你在运行时根据需要创建和插入组件,而不是在页面加载时就固定好所有的组件。 首先,我们来看一下`$A.DeliverElement()`的基本语法: ```javascript $A.component( "字符串类型", {对象属性}, function(回调) ); ``` ### 1. 字符串类型 这里的“字符串类型”指的是你要实例化的组件的类型。比如,如果你想创建一个按钮组件,你可以传入`"lightning:button"`。 ### 2. 对象属性 “对象属性”是一个JavaScript对象,里面包含了你要传递给这个组件的属性。比如,如果你创建的是一个按钮组件,你可以在这里设置按钮的标签、样式等。 ### 3. 函数回调 “函数回调”是一个可选的回调函数,当组件实例化完成后,这个函数会被调用。你可以在这个回调函数里做一些后续的操作,比如将新创建的组件插入到DOM中。 ### 举个例子 假设我们想在页面上动态创建一个按钮,按钮的标签是“点击我”,并且当按钮被点击时,弹出一个提示框。我们可以这样写: ```javascript $A.component( "lightning:button", { "label": "点击我", "onclick": function(component, event, helper) { alert("你点击了按钮!"); } }, function(newComponent) { // 将新创建的按钮插入到某个容器中 var container = document.getElementById("buttonContainer"); container.appendChild(newComponent.getElement()); } ); ``` 在这个例子中: - 我们创建了一个`lightning:button`组件。 - 设置了按钮的标签为“点击我”,并定义了一个点击事件的处理函数。 - 最后,我们将这个新创建的按钮插入到页面中ID为`buttonContainer`的容器中。 ### 总结 通过`$A.DeliverElement()`,你可以灵活地在运行时动态创建和插入组件,这在处理复杂的用户交互或动态内容时非常有用。希望这个简单的例子能帮助你理解如何使用这个功能。如果你有任何问题,随时问我!