2020年09月28日
在8月最后一个周五,举行了第16次学习会。
题目是「Apex控制器和Lightning组件」以及「Puppeteer」。
两者都是从最基本的开始说明,因此浅显易懂。
({
doInit: function(cmp) {
}
})
public with sharing class CreateRecordController {
@AuraEnabled
public static String create(Id sampleId) {
return null;
}
}
2. 将controller系统属性添加到标签中,将组件链接到控制器。
var action = cmp.get("c.create");
action.setParams
({
"sampleId": cmp.get("v.recordId")
});
从Apex服务器侧控制器返回数据
返回的数据类型
简单型 — String、Integer等基本型
sObject — 标准对象类型和自定义对象类型
Apex — Apex类的实例
Collection
客户端的回调
action.setCallback();在客户端控制器上设置回调函数,可在服务器端的Action完成后被调用。
action.setCallback(this,function(response) {
var state = response.getState();
if (state === "SUCCESS") {
}
})
服务器端的Action队列配置
通过$A.enqueAction(action);将服务器端控制器的Action添加到执行队列中。
官方的示例代码和网站对Lightning组件的使用方法和结构等进行了简单易懂的说明。
Puppeteer是一个可以在浏览器中自动处理的工具。
可以用命令行的方式,在浏览器里执行各种操作。
URL跳转
await page.goto(URL);
await page.click('选择器');
await page.type('选择器', '在此输入内容')
text = await page.$('选择器');
newsStr = await page.evaluate(text => text.textContent, text);
await page.waitForSelector('选择器', {visible: true});
await page.waitFor(3000);
await page.keyboard.press('Enter');