0

これは、説明するのが少し混乱するかもしれません。

基本的に、表示される「アクティブなタブ」に応じて異なるビューに表示される複数の外部 JSON フィードを解析しています。どちらも同じ部分テンプレートを共有しているため、内容が異なるだけでまったく同じに見えます。

私が今直面している問題は、一部のフィードでは、一部のキーが配列に配置され、他のキーは配置されていないことです。

たとえば、フィードは次の種類のデータを解析します。

JSON フィード 1 - 「リンク」内の 1 つの「属性」

"link":{
  "attributes":{
    "href":"www.link1.com"
  }
}

JSON フィード 2 - 「リンク」内の 2 つの「属性」

"link":[
  {
    "attributes":{
      "href":"www.link1.com"
    }
  },
  {
    "attributes":{
      "href":"www.link2.com"
    }
  }
]

値「www.link1.com」を取得できる唯一の方法は次のとおりです。

フィード 1 の場合:

<a href="{{item['link']['attributes']['href']}}">link1</a>

フィード 2 の場合:

<a href="{{item['link'][0]['attributes']['href']}}">link1</a>

私は何が最善の方法であるかを理解しようとしています:

1)link[0]存在する場合は表示し、[link]存在する場合はそれを表示します。

2) または、activeTab をターゲットにする方が安全である場合は? たとえば、表示したくない場合は、何も表示しないでくださいactiveTab = view2 or view4, use [link][0]else if activeTab = view1 or view3 use [link]

また、関連する質問ですが、view2 を使用している場合[link][0]、そのビューにのみ表示できますか?

フィードバックをいただければ幸いです。ありがとう!

4

2 に答える 2

0

モデル コントローラーで、JSON オブジェクトを再構築して似たものにすることができます。両方のフィードの の値はlink配列である必要があります。

次に、テンプレートでngRepeat、配列内からアイテムを取得するために使用できます。

于 2013-09-29T16:50:23.673 に答える
0

わかりました-上記の質問の1つに対する解決策を見つけました:「特定のビューで[リンク] [0]のみを表示する方法」

長所: 表示されている activeTab / ビューに依存する単純なコードです。

Con(?): 私は AngularJS の初心者なので、これが最善の解決策かどうかはわかりません。

基本的に: 現在表示されている ng-view に応じて、次のような特定の JSON オブジェクトが表示されます。

<a ng-show="activeTab == 'view1' || activeTab == 'view3'" ng-href="{{item['link'][0]['attributes']['href']}}">
  <h6>Link1 from Feed2</h6>
</a>

主な問題はまだ解決されていませんが、JSON オブジェクト (キー、値) が存在する場合にスワップ/切り替えを行う方法。どんな助けでも大歓迎ですが、私はまだ解決策を見つけようとしています。

あなたの考え、または問題の解決策を改善する方法を教えてください!

ありがとう!ロク。

于 2013-09-30T02:58:03.930 に答える