Content management system Wix:使用外部API调用填充中继器
我指的是下面的视频&我想知道如何填充转发器,而不是填充上面提到的youtube视频中显示的段落标记 基本上,这里是我想要实现的伪代码:Content management system Wix:使用外部API调用填充中继器,content-management-system,velo,Content Management System,Velo,我指的是下面的视频&我想知道如何填充转发器,而不是填充上面提到的youtube视频中显示的段落标记 基本上,这里是我想要实现的伪代码: If search box is equal to null or empty Display all crypto currencie(s) else Display single crypto currency 将信息放入中继器与示例中已经显示的内容没有太大区别。实际上,当搜索框为空时,API返回一个数组,该数组只需稍加处理即可使其与中继器
If search box is equal to null or empty
Display all crypto currencie(s)
else
Display single crypto currency
将信息放入中继器与示例中已经显示的内容没有太大区别。实际上,当搜索框为空时,API返回一个数组,该数组只需稍加处理即可使其与中继器一起工作
export function button1_click(event) {
getCryptoCurrencyInfo($w("#currencyInput").value)
.then(currencyInfo => {
// add an _id property to each currency object
currencyInfo.forEach(item => item._id = item.id);
// feed the data to the repeater
$w('#repeater1').data = currencyInfo;
} );
}
因此,假设您添加了一个ID为repeater1
的中继器,该中继器包含ID为result
的文本元素,您可以对页面代码进行以下细微更改。您根本不需要接触后端代码
首先,在按钮1u单击事件处理程序中,我们将删除用API返回的数据填充文本元素的代码。相反,我们将向每个货币对象(中继器需要)添加一个\u id
属性,然后将该数据馈送到中继器
export function button1_click(event) {
getCryptoCurrencyInfo($w("#currencyInput").value)
.then(currencyInfo => {
// add an _id property to each currency object
currencyInfo.forEach(item => item._id = item.id);
// feed the data to the repeater
$w('#repeater1').data = currencyInfo;
} );
}
然后,我们可以获取填充文本元素的代码,并将其粘贴到repeater1\u itemReady
事件处理程序中。此函数将对馈送到中继器的数据
属性的数组中的每个货币项运行一次。确保使用“属性”面板将函数连接到匹配的repeater事件
export function repeater1_itemReady($item, itemData, index) {
$item("#result").text = "Name: " + itemData.name + "\n"
+ "Symbol: " + itemData.symbol + "\n"
+ "Rank: " + itemData.rank + "\n"
+ "Price (USD): " + itemData.price_usd + "\n"
+ "Market Capitalization (USD): " + itemData.market_cap_usd + "\n"
+ "Percent Change 1h: " + itemData.percent_change_1h + "\n"
+ "Percent Change 24h: " + itemData.percent_change_24h + "\n"
+ "Percent Change 7d: " + itemData.percent_change_7d;
}
请注意对代码的两个细微更改。首先,我们使用$item
而不是$w
来选择文本元素。这将选择当前repeater元素中文本元素的特定实例。其次,我们使用itemData
而不是currencyInfo[0]
。这为我们提供了与当前中继器元件相关联的特定数据。不清楚您想要实现什么。我认为您希望在搜索框为空时为每种货币显示一个repeater项。每个中继器项目的信息将显示在文本元素中,如视频中所示。当有搜索词时,文本元素中也只会显示一个重复项和信息。如果我不太清楚,山姆道歉,但是你对我上述问题的观察是100%正确的。不幸的是,我已经尝试了几种方案来实现这一点,但都没有效果:-(!非常感谢Sam,我现在就开始尝试。我会在我结束工作后尽快接受你的答案;-)。