NativeScript ListView中的复杂JSON结构和数据绑定

时间:2016-10-15 15:09:13

标签: json typescript nativescript radlistview

我有一个从API返回的有趣数据集,我无法在NativeScript列表视图中解析父绑定上下文中对象对象的绑定。 listview items(feeditems)是一个ObservableArray()。一切都工作正常我只是在feeds对象中重复styles对象(可能有多个项目),这是可访问的,而访问父bindingContext的其他项目工作正常

<lv:RadListView items="{{ feedItems }}">
        <lv:RadListView.itemTemplate>
            <GridLayout rows="auto, *, auto" columns="70, *, auto" class="feed-item">
              <!-- Title and Description -->
                <Label text="{{ title }}" color="{{ $parents['RadListView'].styles[site_id]['entry_title_color'], $parents['RadListView'].styles[site_id]['entry_title_color'] }}" />
              <Label text="&#xf397;" color="{{ $parents['RadListView'].styles[site_id]['entry_btn_color'], $parents['RadListView'].styles[site_id]['entry_btn_color'] }}" />
              <!-- Feed Image -->
                  <Image src="{{ image }}" stretch="aspectFit" />
              <!-- Details Row -->


              <!-- STUCK HERE TRYING TO REPEAT THE 'FEEDS' OBJECT -->
                <Repeater items="{{ $parents['RadListView'].styles[site_id]['feeds'], $parents['RadListView'].styles[site_id]['feeds']  }}">
                  <Repeater.itemTemplate>
                    <Label text="{{ icon }}" />
                  </Repeater.itemTemplate>
                </Repeater>


                <Label text="{{ friendlytime }}" />
            </GridLayout>
        </lv:RadListView.itemTemplate>
      </lv:RadListView>

以下是styles JSON绑定的示例:

{"2":
   {"id":2,"name":"TEST","icon":"https://www.TEST.com/test.png",
"entry_title_color":"#f00","entry_text_primary_color":"#3AF",
"feeds":
    {"2":
        {"id":2,"type":"rss","icon":"","notify":1}
    }
  }
}

1 个答案:

答案 0 :(得分:0)

我没有在JSON样式中看到'site_id'。所以可能只是跳过“[site_id]”部分就足够了。

一个偏离主题:请删除您不需要的 StackLayouts