Content management system Wix:使用外部API调用填充中继器

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返回一个数组,该数组只需稍加处理即可使其与中继器

我指的是下面的视频&我想知道如何填充转发器,而不是填充上面提到的youtube视频中显示的段落标记

基本上,这里是我想要实现的伪代码:

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,我现在就开始尝试。我会在我结束工作后尽快接受你的答案;-)。