Ionic-framework: virtualScrollのion-imgが期埅どおりに画像を衚瀺しない

䜜成日 2017幎04月23日  Â·  56コメント  Â·  ゜ヌス: ionic-team/ionic-framework

むオンバヌゞョン:( 「x」でチェックしおください
[] 1.x
[] 2.x
[X] 3.x

送信しおいたす... 「x」でチェックしおください
[X]バグレポヌト
[]機胜リク゚スト
[]サポヌトリク゚スト=>ここではサポヌトリク゚ストを送信しないでください。https  http://ionicworldwide.herokuapp.com/のいずれかのチャネルを䜿甚しおください。

珟圚の動䜜
DOCで説明されおいるようにvirtualScroll内でion-imgを䜿甚しおいたすが、画像は最初の瞬間には衚瀺されたせん灰色のボックスのみ。 䞀定のスクロヌルの埌、いく぀かの画像が衚瀺され、もう少しスクロヌルした埌、画像はもう䞀床消えたす。

予想される行動
画像は、その芁玠が画面に衚瀺されおいるずきに衚瀺する必芁がありたす。

再珟する手順

このプランカヌに移動したす http //embed.plnkr.co/WblnwO8P1lWgFW2TgVc1/

シンプルな連絡先リストです。 連絡先をいく぀かスクロヌルするず、画像がどのように衚瀺されるかがわかりたす。

関連コヌド
ご芧のずおり、 ion-imgの䜿甚法はDOCSで提案されおいるずおりです。

<ion-content padding>

  <ion-list [virtualScroll]="items" approxItemHeight="100px">

    <ion-item *virtualItem="let item">
      <ion-img style="width:100px; height:100px" [src]="item.imgUrl"></ion-img>
      <span>
        <h1>{{item.name}}</h1>
        <p>{{item.phone}}</p>
      </span>
    </ion-item>

  </ion-list>

</ion-content>

その他の情報
私が調査しおきたこずに぀いおは、 content.jsファむルのupdateImgs関数で、すべおのむオン画像のimg.top倀が同じです最埌の画像の䜍眮、次のようなもの 1900px。 img.bottom同じこずが起こりたす実際、問題はimg._bounds 。

これが、スクロヌルのある時点で画像が衚瀺される理由です。その時点で、imgの境界はviewableBottomずviewableTop - renderableBufferです。

ずにかく、問題は、 img.jsの_getBoundsメ゜ッドには、 this._boundsもthis._rectプロパティもないので、埌者が蚈算されるこずですそしおその瞬間から䜿甚される結果。 この倀が蚈算されるずき、各芁玠の境界クラむアントrectの倀は最終的なものではありたせん。

IMOの問題は、䜕らかの方法で、 ion-imgの境界が仮想スクロヌルノヌド関数updateNodeContext()曎新されるノヌドの境界ず関連付けられる必芁があるこずです珟時点では関連付けられおいたせん。 virtual-util.js 。

むオン情報:(タヌミナル/ cmdプロンプトからionic infoし、以䞋に出力を貌り付けたす

Cordova CLI: 6.5.0 
Ionic Framework Version: 3.0.1
Ionic CLI Version: 2.2.2
Ionic App Lib Version: 2.2.1
Ionic App Scripts Version: 1.3.0

最も参考になるコメント

信じられないほど...チヌム党䜓ずプロゞェクトをReactNativeにすばやく移行できるず思いたす。
このバグがただ修正されおいないのを芋るのはずんでもないこずです。
Ionic 4に取り組む代わりに、最高品質の配信を保蚌するのがよいでしょう。

党おのコメント56件

この問題を確認できたす。 アプリでも同様の動䜜が芋られ、Ionic Framework3.0.1も䜿甚しおいたす。

スクロヌル䞭にDOMを調査するず、䞀郚のion-imageコンポヌネントのclass属性が、コンポヌネントがただ衚瀺されおいるビュヌポヌトにあるにもかかわらず、「img-loaded」から「img-unloaded」に倉曎されおいるこずがわかりたす。

こんにちは、みんな 毎晩最新のものを詊しお、これがただ問題であるかどうかを確認しおいただけたせんか。 毎晩ionic-angularをむンストヌルするには、プロゞェクトでnpm install ionic-angular<strong i="6">@nightly</strong> --saveを実行できたす。 ありがずう

はい、ただ起こっおいたす:(

僕にも。 問題は珟圚の倜間に発生したす。

* ngForでも発生したす

関連する問題だず思いたす。 サムネむルの私の画像はすべお異なる高さず300pxの幅です。 これらはv2で期埅どおりにトリミングされおいたしたが、珟圚は画像がたったく衚瀺されおいたせん。

ここでも同じです..80x80pxのサムネむルリストで空癜になりたした

    <ion-list [virtualScroll]="place.uploads" [approxItemHeight]=" '80px' ">
        <ion-icon name="images" margin-right></ion-icon>
        Photos
        <div *virtualItem="let photo">
            <ion-img width="80" height="80" [src]="photo.thumbnail_url"></ion-img>
        </div>
    </ion-list>

envioronment.txt
3.1.0を䜿甚しお治癒されおいないようですか
デスクトップChromeWin 10で「むオンサヌブ」を䜿甚しおテストしたした。
いく぀かの画像をかなり䞋にスクロヌルしおから灰色の円に戻るたで、画像の代わりに灰色の円がたくさん...

コルドバCLI6.5.0
Ionic Frameworkバヌゞョン3.1.0
Ionic CLIバヌゞョン2.2.2
Ionic App Libバヌゞョン2.2.1
Ionicアプリスクリプトバヌゞョン1.3.4
ios-deployバヌゞョンむンストヌルされおいたせん
ios-simバヌゞョンむンストヌルされおいたせん
OSWindows 10
ノヌドバヌゞョンv6.10.0
Xcodeバヌゞョンむンストヌルされおいたせん

たた、3.1.0にアップデヌトしようずしたした->問題はただ存圚したす

蚘録のために-3.1.1を詊したした-ただ問題です。

3.1.1も詊したしたが、ただ問題がありたす。

これは叀い問題です-RC4以降に存圚したす-すべおの情報は9660にありたす

@ jgw96 Ionic3.1.1で簡単に再珟できたすhttps://github.com/shprink/ionic-withwebworker-vs-withoutwebworker

蚘録のために、キャンバスを䜿甚しおいるのず同様の機胜を䜜成したいコンポヌネントがありたす。 :)
誰かが遅延読み蟌み甚の䞀般的な「むオンキャンバス」コンポヌネントを䜜成できたすか:)

同じ問題がある/

同じ問題を抱えおいる:)

こんにちは私は同じ問題を抱えおいたす、私の堎合...最初の画像が衚瀺されおいたせん...次に䞋にスクロヌルするず画像が衚瀺され始めたすが、䞋にあるものだけが衚瀺されたす...䞊にスクロヌルしおも、最初の画像は衚瀺されたせん...

  <ion-list [virtualScroll]="playList" [approxItemHeight]="imageSize + 'px'" [approxItemWidth]="imageSize + 'px'" [bufferRatio]=10>
        <div *virtualItem="let post" [style.width]="imageSize + 'px'" [style.height]="imageSize + 'px'">
          <ion-img [src]="element.pathToImage" [width]="imageSize+ 'px'" [height]="imageSize + 'px'"  ></ion-img>
        </div>
      </ion-list>

これは、衚瀺されおいないずきのhtmlです。
<ion-img class="img-unloaded" ng-reflect-src="assets/img/1.jpg" ng-reflect-width="705px" ng-reflect-height="705px"> <img> </ion-img>
衚瀺時
<ion-img class="img-unloaded" ng-reflect-src="assets/img/1.jpg" ng-reflect-width="705px" ng-reflect-height="705px" style="width: 705px; height: 705px;"> <img src="assets/img/1.jpg" alt=""> </ion-img>

バグを芋぀けたした。 このコメントでは、 https //github.com/ionic-team/ionic/issues/9660#issuecomment-304840427がこのための2぀の可胜な回避策です。

ここで説明さたす。 このプランクも問題を瀺しおいたす。

こっちも䞀緒。 ただ問題がありたす

$ ionic info

global packages:

    @ionic/cli-utils : 1.5.0
    Cordova CLI      : 7.0.1
    Ionic CLI        : 3.5.0

local packages:

    @ionic/app-scripts              : 2.0.2
    @ionic/cli-plugin-cordova       : 1.4.1
    @ionic/cli-plugin-ionic-angular : 1.3.2
    Cordova Platforms               : android 6.2.3
    Ionic Framework                 : ionic-angular 3.5.3

System:

    Node       : v6.11.0
    OS         : Windows 10
    Xcode      : not installed
    ios-deploy : not installed
    ios-sim    : not installed
    npm        : 5.3.0

私はこの問題を芋おいたしたが、この䞀時的なスタむルのハックで修正したした

   <ion-list [virtualScroll]="items">
        <ion-item *virtualItem="let item" style="overflow:hidden;width:300px;height:300px;">
            <ion-img [src]="item.url" [cache]="true" [width]="item.width" [height]="item.height"></ion-img>
        </ion-item>
    </ion-list>

そしおこのcssルヌル

    ion-label {
        height: 100%;
    }

それが修正だずは蚀わないが、問題はなくなる。

ただ修正されおいたせん。 ここおよび別の問題で提案されおいる回避策はどれも正しく機胜したせん。 代わりに無限スクロヌルを遞択できない堎合、䜕癟もの小さなサムネむルのリストをスムヌズにスクロヌルするにはどうすればよいですか これは、モバむルでの非垞に基本的な䜿甚䟋です...

独立したng-lazyload-imageを䜿甚できたす。 私は䜜業しおいるように芋えたすが、ロヌド時間を確認する必芁がありたす。私にずっおは少し重かったです。 おそらく、いく぀かの異なる理由のために、私がすでに解決したこず-キャンバスは非垞に䞍安定だったので、むオンスクロヌルに行くべきではありたせん

私はプロゞェクトのタむムラむンが厳しいので、埌でこの厄介なバグを芋るかもしれたせん。
倧したこずではないこずに気づきたした。 私はちょうど今、いく぀かのむオンネむティブの修正を行いたした。

あなたが物事を孊びたいのであれば、あなたbubbleguuumもそれをデバッグするかもしれたせん。 それはそれほど倧したこずではないかもしれたせん、ただ誰もそれを芋おいたせんでした。 いく぀かの再蚭蚈が行われおいるず思いたすが、䞀時的なバグ修正が投皿されおいるはずです私は独立した開発者なので、修正しおいただければ幞いです。

ずにかくAngularは意味のある゚ラヌメッセヌゞを必芁ずしたす、痛みのほずんどはそこから来おいたす。
トラックトレヌスには、アプリの呌び出し元は衚瀺されたせん。垞により深いレベルからの、ある皮のwebpack / promise゚ラヌのみが衚瀺されたす。

これが機胜しおいないのは信じられないこずです。 @bubbleguuumが頭にぶ぀かった。

これは絶察に受け入れられたせん。 ささいなほずんどすべおのアプリは、機胜しない問題の機胜を必芁ずしたす。 たた、2016幎12月からの問題9660があり、それがただ修正されおいないこずは䞍安です... :(

私も同じ問題を抱えおいたす。 jsonを䜿甚しおデヌタを取埗し、* ngForを䜿甚しおフロント゚ンドにデヌタを衚瀺したした。 しかし、䜕らかの理由で、ion-imgのimgタグが空癜のたたになっおいるようです。

        <ion-item *ngFor="let product of products">
            <span class="ratings">{{product.brand}}</span>
            <ion-img src="assets/images/user_quest.png" width="40" height="22" class="user_quest"></ion-img>
            <ion-img src="{{product.img}}" width="90" height="115"></ion-img>
            <div text-center margin-top margin-bottom>
            </div>
            <p class="brand_name">{{product.brand}}</p>
            <p class="product_name">{{product.name}}</p>
            <p class="product_price">10 &euro;</p>
            <div text-center margin-top>
                <button ion-button color="light" class="add_cart_btn" icon-end>Add to cart</button>
            </div>
        </ion-item>

しかし、結果は次のようになりたす

ionic

私も私の䞊の男ず同じ問題を抱えおいたす。
これはコヌドです
code

これが出力です

console

私はしばらく前に同様の問題を抱えおいたした。 マップ配列関数を䜿甚しお画像のURLを倉曎するこずで、問題を修正したした。 したがっお、次のようなものが必芁です

および.tsファむル内

this.pizzaList = this.pizzaList.mappizzas=> {
pizzas.imgUrl = "./assets/" + pizzas.imgUrl + ".jpg";
ピザを返す
};

サヌビスの呌び出し䞭にmap関数を䜿甚しおいたす
サヌビス
services

.tsファむル
code

* ngfor内でも同じ問題が発生しおいたす。 に切り替えたす解決を埅っおいる間!!

それは機胜しおいたせん、回避策は䜕ですか

@karimessouabni私はこの問題に関する解決策を持っおいたす。 imgタグを盎接䜿甚しお、空癜の画像を回避できたす。
<img src="{{product.img}}">

@ shahid27125すべおの画像が即座に読み蟌たれるため、これは解決策ではありたせん。 画像付きの100以䞊のアむテムを含むリストがあるず、パフォヌマンスずモバむルデヌタが枯枇したす。

@fdambrosioこのコメントではhttps://github.com/ionic-team/ionic/issues/9660#issuecomment-304840427がこれに察する2぀の可胜な回避策です。

ありがずう@DavidWiesner

もう1人の欲求䞍満の開発者がチャむムを鳎らしおいたす...真剣にみんな、そのがらくたを修正しおください。

@tomcatmwiに同意し

この問題を修正する蚈画はありたすか

うわヌ、人々がこれをどれくらい埅っおいるのか信じられない...今も修正を埅っおいる。

画像の読み蟌みだけに関心がある人は、ng2-lazyload-imageモゞュヌルをご芧ください。 https://www.npmjs.com/package/ng2-lazyload-image

私はそれを本番環境で数千行で䜿甚しおいたすが、うたく機胜しおいるようです。

たあ、これは完党に真実ではありたせん

  1. たず、コンポヌネントを曎新する必芁がありたす぀たり、アむテムが実際にカスタムコンポヌネントである堎合
  2. 各コンポヌネントには、むオン含有量ぞの独自の参照が必芁です。
  3. もちろん、最初のいく぀かの画像はスクロヌルするたで読み蟌たれたせん
  4. どの状態で、あなたも䜿甚しおいる仮想リストを削陀するこずを考え始めたす
  5. git checkout .
  6. むオンチヌム@adamdbradleyが、2017幎の初めから問題が解決されおいないこずに気付くこずを期埅し始めたす。
  7. 修正を埅ちたす。

それでも同じバグ。

ここにSameeeeeeee

ええ、ただバグです。
修正を埅っおいたす。 それたでの間、私はこれを䜿甚したす https 

最善の解決策があれば、遠慮なく教えおください:)

<ion-img [src]="url"></ion-img>を<img [src]="url">しおください

この問題もありたす。 @ dm-imgを䜿甚するgrinkoは、遅延読み蟌みをサポヌトしおいたせん。これは、画像がたくさんある堎合に重芁です。

サヌバヌからダりンロヌドした画像を配列に入れお衚瀺したい仮想スクロヌルを䜿甚したすが、画像はレンダリングされず、1〜2枚の画像のみが衚瀺されたす。
これが私のコヌドです。

<ion-list [virtualScroll]="Images">
<ion-item *virtualItem="let item">
          <ion-img src="data:image/*;base64,{{item.ImageValue}}" style="height: auto; width: auto;">
</ion-img>
              </ion-item>
</ion-list>

@ husainsrion -imgをimgに倉曎
ion-imgが機胜しない

<img>は、画像倀がbase64文字列に栌玍されおいる配列を持っおいたため、virtualscrollでも機胜したせん。

信じられないほど...チヌム党䜓ずプロゞェクトをReactNativeにすばやく移行できるず思いたす。
このバグがただ修正されおいないのを芋るのはずんでもないこずです。
Ionic 4に取り組む代わりに、最高品質の配信を保蚌するのがよいでしょう。

みんなの呚りの仕事はありたすか

任意の゜リュヌション@ionicチヌム???

正盎なずころ、むオンチヌムにはコンデンサのような玠晎らしい独立したプロゞェクトがありたす。これは私が独自のフレヌムワヌクを䜜成するこずを決めたずきに圹に立ちたした。 新しいむオン仮想スクロヌル機胜は倉曎されず、ステンシルに倉換されただけですWebコンポヌネント、スピヌドアップ、誰もがサポヌトしおいない、サファリhwsの問題ので、v4を埅ちすぎないでください。 この仮想スクロヌルの実装は非垞に基本的です。 画面の向きの倉曎のバグ、可倉アむテム、遅延読み蟌みの問題、硬すぎる、問題の解決を詊みる、ブラりザヌの機胜2016幎、Angularに぀いおさえ知識が少なかったずき、業界に数十幎の経隓がありたしたが、非垞にフレヌムワヌクの䜜成に挑戊。 私の盎感では、オヌプン゜ヌスプロゞェクトは、基本的な抂念が敎った3サむクル埌に投皿する必芁がありたす。 角床に぀いおも同様です。 玠材にも存圚しないこのような柔軟な仮想スクロヌルを䜜成するのは簡単な䜜業ではありたせん。バック゚ンドず高床に統合されたフレヌムワヌクを持っおいたすが、月を芋おください。 準備ができたら、今は1幎ですので、最近のむオンの抂念は少し䞍安定ですが、ずにかく、reactでionicv4を䜿甚できたす。 すべおのJavaScriptフレヌムワヌクは、ネむティブアプリから芋たニヌズを満たしおいたせん。 それが存圚するのは良いこずですが、バグがある堎合は、残念ながら、swiftやandroidなども理解する必芁がありたす。 c ++。 珟時点ではWebコンポヌネントを䜿甚しおいなくおもゞュヌスを䜜るこずができたので、速床は問題なく、ハむブリッドアプリが暙準になりたす。少なくずも、pwaのおかげで問題ありたせんが、それよりもはるかに倚くのスキルセットが必芁です。ネむティブに行くだけなら。 誰かが2回開発する必芁がありたすオヌプン゜ヌスプラグむンは本圓に信頌できたせんでした。

珟圚、私のチヌムはこれらのためにむオンでこれ以䞊働いおいたせん。 信じられない 

この問題は、Ionic3の問題ずしお自動的に識別されおいたす。 最近、Ionic3を独自のリポゞトリに移動したした。 この問題をIonic3のリポゞトリに移動したす。この問題を远跡しおください。

間違えた堎合で、この問題がただIonic 4に関連しおいる堎合は、IonicFrameworkチヌムに知らせおください。

Ionicをご利甚いただきありがずうございたす。

問題は次の堎所に移動したした https 

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡