Ng-lazyload-image: Ionic 2 - "ion-card" ์ง€์‹œ๋ฌธ ๋‚ด์—์„œ ์ž‘๋™ํ•˜์ง€ ์•Š์Œ

์— ๋งŒ๋“  2017๋…„ 08์›” 22์ผ  ยท  11์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: tjoskar/ng-lazyload-image

์•ˆ๋…•ํ•˜์„ธ์š”,

Ionic 2์—์„œ ์ด ๋ฌธ์ œ์— ์ง๋ฉดํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๊ธฐ๋ณธ์ ์œผ๋กœ img ํƒœ๊ทธ๊ฐ€ ion-card ์ง€์‹œ๋ฌธ ์•ˆ์— ์žˆ์œผ๋ฉด ์ด๋ฏธ์ง€๊ฐ€ ์ „ํ˜€ ๋กœ๋“œ๋˜์ง€ ์•Š๊ณ  "defaultImage"๋งŒ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์ด์˜จ ์นด๋“œ ์™ธ๋ถ€์— ์ด๋ฏธ์ง€๋ฅผ ๋ฐฐ์น˜ํ•˜๋ฉด ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

ํ˜น์‹œ ์ด๊ฒƒ ์ข€ ๋ด์ฃผ์‹ค ์ˆ˜ ์žˆ์œผ๋ฉด ์•Œ๋ ค์ฃผ์„ธ์š”.

์ œ์ž๋ฆฌ์—.ts
...
๋‚ด๋ณด๋‚ด๊ธฐ ํด๋ž˜์Šค PlacePage {

defaultImage: ๋ฌธ์ž์—ด = ' http://via.placeholder.com/350x150 ';
์žฅ์†Œ: ์•„๋ฌด = {
imgUrl: ' https://encrypted-tbn0.gstatic.com/images?q=tbn :AND9GcSSCP8YYuzKCXQLhQ7mkH5I_VpZ0v23BWrJ4QkxSSldl7sOV__xKA'
};

์ƒ์„ฑ์ž() {
}

...
}

place.html์—์„œ:
<ion-card> <img [defaultImage]="defaultImage" [lazyLoad]="place.imgUrl" /> ..... </ion-card>

๊ฐ์‚ฌ ํ•ด์š”

Wait for feedback

๋ชจ๋“  11 ๋Œ“๊ธ€

์•ˆ๋…•ํ•˜์„ธ์š”,

ion-cord ์ด ์ผ๋ถ€ ๋ณด๊ธฐ ๋˜๋Š” ์ž์ฒด ์Šคํฌ๋กค ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์žˆ๋Š” ๋ชจ๋“  ๊ฒƒ ์•ˆ์— ์žˆ์Šต๋‹ˆ๊นŒ? ๋‹น์‹ ์˜ ๊ฒฌํ•ด๋ฅผ ์ข€ ๋” ๋ง์”€ํ•ด ์ฃผ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

๋น ๋ฅธ ๋‹ต๋ณ€ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

๋‚ด ๊ฒฌํ•ด๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

** "์ด์˜จ ํ•จ๋Ÿ‰"์œผ๋กœ ๋ž˜ํ•‘๋˜์—ˆ์ง€๋งŒ ์–ด๋–ค ์ด์œ ๋กœ ์—ฌ๊ธฐ์—์„œ ์ œ๋Œ€๋กœ ํ˜•์‹์ด ์ง€์ •๋˜์ง€ ์•Š์€ ๋ชจ๋“  ๊ฒƒ.



    <ion-card-content>
        <ion-card-title>
            <div>{{place.name}}</div>
        </ion-card-title>
        <div>
            Some content here ....
        </div>
    </ion-card-content>
</ion-card>

ion-content ์ด ๋ฌธ์ œ์ผ ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ng-lazyload-image ์‚ฌ์šฉ window ์Šคํฌ๋กค ์ด๋ฒคํŠธ์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ๋‹นํ•˜์ง€๋งŒ ion-content ์šฐ๋ฆฌ๊ฐ€ ์Šคํฌ๋กค ์ด๋ฒคํŠธ๋ฅผ ์ˆ˜์‹  ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ž์‹ ์˜ ์Šคํฌ๋กค ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‚ฌ์šฉ ion-content .

๋‹ค์Œ ํ…œํ”Œ๋ฆฟ์„ ์‚ฌ์šฉํ•ด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

<ion-content #container>
  <ion-card>
    <img defaultImage]="defaultImage" [lazyLoad]="place.imgUrl" [scrollTarget]="container.scrollElement" />
    you content
  </ion-card>
</ion-content>

์กฐ์‚ฌํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

์ œ๊ณต๋œ ์ฝ”๋“œ๋กœ ์‹œ๋„ํ–ˆ์ง€๋งŒ ์ฐจ์ด๊ฐ€ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ion-content๊ฐ€ ๋ฌธ์ œ๊ฐ€ ์•„๋‹ˆ๊ณ  ion-card๊ฐ€ ๋ฌธ์ œ์ผ ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. img ํƒœ๊ทธ๋ฅผ ion-card ์™ธ๋ถ€๋กœ ๊ฐ€์ ธ์˜ค๋ฉด ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

๋‹น์‹ ์€ ๋‹น์‹ ์˜ ์ธก๋ฉด์—์„œ ๊ทธ๊ฒƒ์„ ์žฌํ˜„ํ•˜๋ ค๊ณ  ํ–ˆ์Šต๋‹ˆ๊นŒ? ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ๋ฅผ ๋Œ€๋น„ํ•˜์—ฌ bitbucket์—์„œ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ์‚ฌ ํ•ด์š”

ํ , ์•Œ์•˜์–ด. ๋„ค, ๋‹น์‹ ์˜ ํ”„๋กœ์ ํŠธ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ์ •๋ง ์ข‹์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค :) ๊ฐ€๊นŒ์šด ํ”„๋กœ์ ํŠธ์ธ ๊ฒฝ์šฐ bitbucket์—์„œ tjoskar ๋ฅผ ์‚ฌ์šฉ์ž ์ด๋ฆ„์œผ๋กœ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜์…จ๋‚˜์š”? ์ง€๊ธˆ์€ ์ด ๋ฌธ์ œ๋ฅผ ๋‹ซ์„ ๊ฒƒ์ด์ง€๋งŒ ์ž์œ ๋กญ๊ฒŒ ๋‹ค์‹œ ์—ด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋์—†๋Š” ์Šคํฌ๋กค๊ณผ ๊ด€๋ จ๋œ ๋น„์Šทํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ ์ค‘์ธ ๋‚ด ํ”„๋กœ์ ํŠธ๋Š” http://veterinary.communityone.com ์ž…๋‹ˆ๋‹ค . ์ฝ˜ํ…์ธ ๋ฅผ ๋ณด๋ ค๋ฉด ๋กœ๊ทธ์ธ์„ ๋งŒ๋“  ๋‹ค์Œ ๋กœ๊ทธ์ธํ•œ ํ›„ ์‚ฌ์ด๋“œ๋ฐ”์—์„œ ์†Œ์…œ ํ”ผ๋“œ๋ฅผ ํด๋ฆญํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ดˆ๊ธฐ ํŽ˜์ด์ง€์—๋Š” ์ด๋ฏธ์ง€๊ฐ€ ์ œ๋Œ€๋กœ ํ‘œ์‹œ๋˜์ง€๋งŒ ๋์—†๋Š” ์Šคํฌ๋กค์ด ์‹œ์ž‘๋˜๋ฉด ์ฒซ ๋ฒˆ์งธ ์ด๋ฏธ์ง€๋Š” ์Šคํ”ผ๋„ˆ๋กœ ๋Œ์•„๊ฐ€๊ณ  ๋‹ค์‹œ๋Š” ๋‚˜ํƒ€๋‚˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

capture

@jcbowyer , ๋ฐฉ๊ธˆ ๊ณ„์ •์„ ๋งŒ๋“ค์—ˆ์ง€๋งŒ ๋ฌธ์ œ๋ฅผ ์žฌํ˜„ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๊ฒŒ์‹œ๋ฌผ์ด 3๊ฐœ๋ฐ–์— ์—†๋Š”๋ฐ ๋ฌดํ•œ ์Šคํฌ๋กค์„ ์–ป์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค.

๋•๋ถ„์— ๊ฒฐ๊ตญ ๋ฌด์–ธ๊ฐ€๋ฅผ ๋ณ€๊ฒฝํ–ˆ๊ณ  ์ž‘๋™ํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ •ํ™•ํžˆ ๋ฌด์—‡์„ ๊ณ ์ณค๋Š”์ง€ ํ™•์‹คํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค

@tjoskar ์—ฌ๊ธฐ

@jeffreyramia , ๊ฐ™์€ ๋ฌธ์ œ์ž…๋‹ˆ๊นŒ? ionic ๋ฐ ion-card ๋„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ? ์ƒˆ ๋ฌธ์ œ๋ฅผ ์—ด๊ณ  ๋ฌธ์ œ๋ฅผ ์„ค๋ช…ํ•˜๊ณ  ์ฝ”๋“œ๋ฅผ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰