从页面代码向 HTML 组件发送多个数据
Sending Multiple Data to HTML Component From Page Code
我的页面代码将数据发送到用于处理贝宝付款的 HTML 组件。
在我的页面上,我需要发送 2 个值
我在我的页面代码上这样做:
let obj = {amount: amount, currency: currency};
await $w("#html1").postMessage(obj);
在我的 HTML 组件上,我目前有这个
let AMOUNT = 0;
window.onmessage = (event) => {
if (event.data > 0) {
AMOUNT = event.data;
}
}
这导致如下定义金额和货币:
return actions.payment.create({
payment: {
transactions: [
{
amount: { total: `${AMOUNT}`, currency: `${CURRENCY}` }
}
]
问题是它不起作用,我不知道如何将 AMOUNT 和 CURRENCY 的值与 event.data 分开。
我试过了但是没用
let AMOUNT = 0;
let CURRENCY = 0;
window.onmessage = (event) => {
if (event.data > 0) {
AMOUNT = event.data(amount);
CURRENCY = event.data(currency);
}
}
当您在 HTML 组件中获得 event.data
时,您将获得您发送的整个对象。因此,要分解该对象,只需使用点符号即可。
window.onmessage = (event) => {
if (event.data) {
AMOUNT = event.data.amount;
CURRENCY = event.data.currency;
}
}
您或许还可以使用此行来简化 payment.create
调用。
amount: { total: AMOUNT, currency: CURRENCY }
我的页面代码将数据发送到用于处理贝宝付款的 HTML 组件。
在我的页面上,我需要发送 2 个值 我在我的页面代码上这样做:
let obj = {amount: amount, currency: currency};
await $w("#html1").postMessage(obj);
在我的 HTML 组件上,我目前有这个
let AMOUNT = 0;
window.onmessage = (event) => {
if (event.data > 0) {
AMOUNT = event.data;
}
}
这导致如下定义金额和货币:
return actions.payment.create({
payment: {
transactions: [
{
amount: { total: `${AMOUNT}`, currency: `${CURRENCY}` }
}
]
问题是它不起作用,我不知道如何将 AMOUNT 和 CURRENCY 的值与 event.data 分开。
我试过了但是没用
let AMOUNT = 0;
let CURRENCY = 0;
window.onmessage = (event) => {
if (event.data > 0) {
AMOUNT = event.data(amount);
CURRENCY = event.data(currency);
}
}
当您在 HTML 组件中获得 event.data
时,您将获得您发送的整个对象。因此,要分解该对象,只需使用点符号即可。
window.onmessage = (event) => {
if (event.data) {
AMOUNT = event.data.amount;
CURRENCY = event.data.currency;
}
}
您或许还可以使用此行来简化 payment.create
调用。
amount: { total: AMOUNT, currency: CURRENCY }