2

my productivity appには、毎日行ったポモドローの数が記録されています。これはタイムライン上の各日に表示され、各ポモドーロの小さなトマトアイコンが表示されます。ここに示したように、私は、日ごとにng-repeatを使用して、画像のためのng-repeatよ:角度を付けてn回画像を複製する安価な方法

<img ng-repeat="p in range(day.pomosDone) track by $index" src='/img/pomodoro.png'> 

(レンジ機能は、単にこれです:$scope.range = function(n) {return new Array(n)}

をこれは、ユーザーとのことを除いて、完全に正常に動作します毎日たくさんのポモドーロを持っている人は、ロードするのが本当に遅いです(特に、firefoxではそうです)。この種の意味があります。

私はこれを行うための他の多くの方法(浮気とjQueryの使用を含む)を考えることはできますが、どれも特にエレガントで自然なように見えません。読み込み後は変更する必要はほとんどありませんが、ユーザーがデータを更新した場合、将来的には変更したくなるかもしれません。しかし、私はそれを再トリガーすることができます。

+0

...

+1

あなたは本当にたくさんの画像を数十枚繰り返してもらいたいですか?それは混乱のように聞こえる。私はおそらくこの問題はデザイン/ UIの問題の症状だと思う。そして再設計は角の問題を解決するでしょう。 – ryanyuyu

+0

@ryanyuyu Nah私はそれが視覚的な量として理にかなっていると思う。一種の離散的な棒グラフ。私はそのデザインについてよく感じます。 – MalcolmOcean

答えて

0

<img>アイコンをCSSベース(<span class="tomato-icon"></span>など)に変換することをお勧めします。そのため、画像のリクエスト数は1つだけです。

CSSは次のようなものになるだろう:あなたは、最小限の例を提供することが期待再質問をしたときに、あなたのサイトにリンクしていない

.tomato-icon { 
    display: inline-block; 
    width: 16px; 
    height: 16px; 
    line-height: 16px; 
    background: url(path to your tomato icon) no-repeat; 
} 
+0

同じURLのページに10個のimgタグを置くと、ブラウザは1つのリクエストを送信します。 –

+1

これは、サーバーのキャッシュ用に適切なヘッダーが設定されている場合に当てはまります。 – Adrianopolis

関連する問題