ので角度で私たちにできる条件文ごとに異なるHTMLをレンダリングngのリピートと
<tag ng-repeat="item in items">content..</tag>
または
<tag ng-repeat-start="item in items"></tag><tag ng-repeat-end></tag>
に応じて、条件付きでHTMLを作成する方法があります場合、私は思っていましたjavascriptオブジェクトのプロパティの値。私はサーバ側のテンプレートエンジンがコードとHTMLを混在させることを知っているので、私は次のような何かを達成できる方法があるのだろうかと思っていました。
contents of someview.html
<div ng-controller="someController as ctrl">
{{foreach(ctrl.items)
{{
if (item.type == 'textbox')
'<input type="text" value="item.value" />'
}}
{{
if (item.type == 'checkbox')
'<input type="checkbox" checked="item.value" />'
}}
end-foreach}}
</div>
私はちょうどng-if
ステートメントを使用するだろうと思ったが、私はそれが重複し、それぞれ異なる要素タイプのすべてのオブジェクトを反復処理したくないので、それは、それをカットしていませんし、私も、私は特定の順序を持っています生成されたhtml要素の間に保存したいのですが、最初にすべてのtextbox要素を生成してから、すべてのチェックボックスなどの要素を生成するだけではありません。
ので
<input type="textbox" ng-if="item.type == 'textbox'" ng-repeat="item in items"/>
<input type="checkbox" ng-if="item.type == 'checkbox'" ng-repeat="item in items"/>
はそれをカットされません。
私は、ディレクティブを使用して属性を持つ要素を装飾する必要があると考えています。ディレクティブは、宣言された要素をカスタムHTMLで上書きできますか?
あなたは 'NG-repeat'を保持している' div'または 'span'を反復処理する必要がありますか、あなたは条件付きテンプレートを置き換えるカスタムディレクティブを作成する必要があります。 'ng-repeat'と' ng-if'を同じ要素に定義してインラインでこのタスクを実行することはできません。 – Claies
@taguenizy問題は、テキストボックスとチェックボックスがある場合は、最初のテキストボックスがすべてのテキストボックスを印刷し、次に2番目のボックスがすべてのチェックボックスを印刷し、元の順序では混在しないということです。 – Claies