0

Twitter Bootstrap と Grid Layout を使用して AngularJS アプリケーションを作成しています。私が気に入っているのは、ディレクティブを作成することです。これにより、display:noneモバイル デバイスで画像を設定するだけでなく、レンダリングを回避することもできます (帯域幅を節約し、モバイル デバイスでの速度を向上させるため)。そこで、要素display:noneが設定されているかどうかをチェックするディレクティブのようなものを考えました。その場合、要素 (および以下のすべて) を DOM から削除する必要があります。悲しいことに、この時点で画像は既にレンダリングされています。

モバイル デバイスで画像がレンダリングされないようにするにはどうすればよいですか? 指示が遅い?それまでにdomはすでにレンダリングされていますか?

マークに挨拶

4

1 に答える 1

0

あなたのためにディレクティブを書く時間はありませんが、ngSrc ディレクティブ ソースから始めて、特定の条件下でのみ属性を設定することもできます...その 90% はコメントとドキュメントです。実は下。これはディレクティブの基本的なリンク機能だと思います。 のnormalizedようなものngSrcで、同じコードが に使用されngHrefます。

return {
  priority: 99, // it needs to run after the attributes are interpolated
  link: function(scope, element, attr) {
    attr.$observe(normalized, function(value) {
      if (!value)
         return;

      attr.$set(attrName, value);

      // on IE, if "ng:src" directive declaration is used and "src" attribute doesn't exist
      // then calling element.setAttribute('src', 'foo') doesn't do anything, so we need
      // to set the property as well to achieve the desired effect.
      // we use attr[attrName] value since $set can sanitize the url.
      if (msie) element.prop(attrName, attr[attrName]);
    });
  }
于 2013-10-22T05:56:49.510 に答える