index.vue 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. <template>
  2. <demo-section>
  3. <demo-block :title="$t('basicUsage')">
  4. <img
  5. v-for="img in imageList"
  6. v-lazy="img"
  7. >
  8. </demo-block>
  9. <demo-block :title="$t('title2')">
  10. <div
  11. v-for="img in backgroundImageList"
  12. v-lazy:background-image="img"
  13. />
  14. </demo-block>
  15. <demo-block :title="$t('title3')">
  16. <lazy-component>
  17. <img
  18. v-for="img in componentImageList"
  19. v-lazy="img"
  20. >
  21. </lazy-component>
  22. </demo-block>
  23. </demo-section>
  24. </template>
  25. <script>
  26. export default {
  27. i18n: {
  28. 'zh-CN': {
  29. title2: '背景图懒加载',
  30. title3: '懒加载模块'
  31. },
  32. 'en-US': {
  33. title2: 'Lazyload Background Image',
  34. title3: 'Lazyload Component'
  35. }
  36. },
  37. data() {
  38. return {
  39. imageList: [
  40. 'https://img.yzcdn.cn/public_files/2017/09/05/3bd347e44233a868c99cf0fe560232be.jpg',
  41. 'https://img.yzcdn.cn/public_files/2017/09/05/c0dab461920687911536621b345a0bc9.jpg',
  42. 'https://img.yzcdn.cn/public_files/2017/09/05/4e3ea0898b1c2c416eec8c11c5360833.jpg',
  43. 'https://img.yzcdn.cn/public_files/2017/09/05/fd08f07665ed67d50e11b32a21ce0682.jpg'
  44. ],
  45. backgroundImageList: [
  46. 'https://img.yzcdn.cn/public_files/2017/09/05/bac1903e863834ace25773f3554b6890.jpg',
  47. 'https://img.yzcdn.cn/public_files/2017/09/05/138c32d4384b5e4a78dc4e1ba58e6a80.jpg'
  48. ],
  49. componentImageList: [
  50. 'https://img.yzcdn.cn/public_files/2017/09/05/100a7845756a70af2df513bdd1307d0e.jpg',
  51. 'https://img.yzcdn.cn/public_files/2017/09/05/8a4f5be8289cb3a7434fc19a3de780a2.jpg'
  52. ]
  53. };
  54. }
  55. };
  56. </script>
  57. <style lang="less">
  58. .demo-lazyload {
  59. padding: 0 15px;
  60. img,
  61. div[lazy] {
  62. padding: 15px;
  63. width: 100%;
  64. height: 250px;
  65. margin: 10px 0 0;
  66. background-color: white;
  67. box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
  68. background-size: 315px 250px;
  69. background-position: 15px;
  70. background-repeat: no-repeat;
  71. box-sizing: border-box;
  72. }
  73. .van-doc-demo-block__title,
  74. .van-doc-demo-section__title {
  75. padding-left: 0;
  76. }
  77. }
  78. </style>