私は自分のデータをオブジェクトの配列に保存しており、それを使用してページにリストを作成していますngRepeat
。問題は、オブジェクト内の値の一部が null であり、オブジェクト全体ではなくその行だけを非表示にしたいことです。ngHide
個々の 's で使用してみました<li>
が、行を非表示にするだけなので、行を折りたたむことはありません。フィルターを使用して自動的に行うことができる場合、関数または追加の css を使用して高さをゼロに減らしたくありません。 .
私の最善の努力にもかかわらず、null 行を非表示にして他の行を表示するカスタム フィルターを作成できないようです。nullの場合は値を返すところまで持っていましたfalse
が、それを削除して別のことを試し、どうやってそこにたどり着いたのか忘れました(ローカルバージョニングはありません)。
これは私の以前の質問からのフィドルですが、フィルタリングしようとしているすべての部分が含まれています。http://jsfiddle.net/E2GB9/9/
データのフォーマット:
function TypeCtrl($scope) {
$scope.styles = [
{name: 'Example 1', h1:'32px', h2:'24px', p:'12px', className:'example1'},
{name: 'Example 2', h1:'', h2:'24px', p:'12px', className:'example2'},
{name: 'Example 3', h1:'24px', h2:'', p:'12px', className:'example3'},
{name: 'Example 4', h1:'32px', h2:'24px', p:'', className:'example4'}];
}
ngRepeat
htmlで:
<li ng-repeat="style in styles">
<span>Name: {{style.name}}</span><br>
<span>H1: {{style.h1}}</span><br>
<span>H2: {{style.h2}}</span><br>
<span>P: {{style.p}}</span><br>
<button class="btn-small" type="submit" ng-click="$parent.appliedStyle=style.className">Apply {{style.name}}</button>
</li>
したがって、style.h1 == null
その行のみを非表示にしたい場合。h2、p なども同様です。