0

ソフトウェアをKnockout.jsからAngular.jsに変換しようとして少し問題があります

データベースから次のデータが返されたとします。

{
    id: "Some ID",
    title: "Some Template",
    fields: [
        {type: "radio", title="Some Title", description: "Some Description},
        {type: "textbox", title="Some Title", description: "Some Description},
        {type: "radio", title="Some Title", description: "Some Description}
    ]
}

Knockout.jsでは、次のように適切なhtmlをドロップできるifステートメントを簡単に作成できます。

<!-- ko foreach: $parent.myData.fields -->
    <!-- ko if: $data.type === "textbox" !-->
        <input type="textbox" id="whatever" />
    <!-- /ko -->
<!-- /ko -->

Angularで上記の動作を再現する方法に迷っています。カスタムディレクティブを使用しますか?もしそうなら、それはどのように構成されますか?

現在、私は次のようなことを試みています:

<div ng-repeat="field in review.fields">
    <div class="review-temp-left">
        <div class="title">{{ field.title }}</div>
        <div class="desc">{{ field.description }}</div>
    </div>
    <div class="review-temp-right">
    <!-- NEED TO MAKE THIS AREA LOAD APPROPRIATE HTML FOR INPUT TYPE -->
    </div>
</div>

どんな助けでも大歓迎です。

ありがとう、

アリック

4

1 に答える 1

1

コメントで説明されているように、ng-switchを使用して、に基づいて適切なHTMLコンテンツをDOMに追加できますtype

ng-show / ng-hideは現在、ng-switchのようにDOMからコンテンツを追加/削除しないことに注意してください。これらはCSSプロパティを操作してDOMコンテンツを非表示/表示するだけです。

于 2013-03-22T16:01:45.003 に答える