0

API から返される興味深いデータ セットがあり、親バインディング コンテキスト内のオブジェクトのオブジェクトの NativeScript リストビューでバインディングを解決できません。リストビュー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}
    }
  }
}
4

1 に答える 1

0

スタイル JSON で定義された「site_id」が表示されません。したがって、おそらく「[site_id]」部分をスキップするだけで十分でしょう。

トピック外の 1 つ:不要なStackLayoutsを削除してください。

于 2016-10-17T22:06:43.157 に答える