javascript - 从页面代码向 HTML 组件发送多个数据
问题描述
我的页面代码将数据发送到用于处理贝宝付款的 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);
}
}
解决方案
当您进入event.data
HTML 组件时,您将获得您发送的整个对象。因此,要分解该对象,只需使用点符号即可。
window.onmessage = (event) => {
if (event.data) {
AMOUNT = event.data.amount;
CURRENCY = event.data.currency;
}
}
您也可以payment.create
改用这条线来简化调用。
amount: { total: AMOUNT, currency: CURRENCY }
推荐阅读
- arrays - 在 Vue.js 中将 img srcset 与数组和数据对象绑定
- apache - Apache httpd (mod_proxy) 似乎丢弃/忽略 X-Forwarded-For 链中的第三个 IP 地址?
- javascript - Sails Js 填充条件
- javascript - 如何避免警告:块样式 [mini-css-extract-plugin] GatsbyJS 中的冲突顺序?
- go - 如何从随机森林分类器预测转换为回归器预测?
- javascript - JavaScript - 如何禁用和启用多个按钮?
- r - R中矩阵的离散差分算子?
- javascript - 如何将随机数值放入 svg“fill”属性的“rgb()”?
- javascript - 如何使用 Material UI Grid 组件将一个项目左对齐和另一个右对齐
- python - 在新的云数据存储模式下实现 ndb.StructuredProperty 的等效性?