# Image ### Install ```js import Vue from 'vue'; import { Image } from 'vant'; Vue.use(Image); ``` ## Usage ### Basic Usage ```html ``` ### Fit Mode ```html ``` ### Round Show round image, it may not works at `fit=contain` and `fit=scale-down` ```html ``` ### Lazy Load ```html ``` ```js import Vue from 'vue'; import { Lazyload } from 'vant'; Vue.use(Lazyload); ``` ## API ### Props | Attribute | Description | Type | Default | |------|------|------|------| | src | Src | *string* | - | | fit | Fit mode | *string* | `fill` | | alt | Alt | *string* | - | | width | Width | *number \| string* | - | | height | Height | *number \| string* | - | | radius `v2.1.6` | Border Radius | *number \| string* | `0` | | round | Whether to be round | *boolean* | `false` | | lazy-load | Whether to enable lazy load,should register [Lazyload](#/en-US/lazyload) component | *boolean* | `false` | | show-error `v2.0.9` | Whether to show error placeholder | *boolean* | `true` | | show-loading `v2.0.9` | Whether to show loading placeholder | *boolean* | `true` | | error-icon `v2.4.2` | Error icon | *string* | `warning-o` | | loading-icon `v2.4.2` | Loading icon | *string* | `photo-o` | ### fit optional value | name | desctription | |------|------| | contain | Keep aspect ratio, fully display the long side of the image | | cover | Keep aspect ratio, fully display the short side of the image, cutting the long side | | fill | Stretch and resize image to fill the content box | | none | Not resize image | | scale-down | Take the smaller of `none` or `contain` | ### Events | Event | Description | Arguments | |------|------|------| | click | Triggered when click image | *event: Event* | | load | Triggered when image loaded | - | | error | Triggered when image load failed | - | ### Slots | Name | Description | |------|------| | loading | Custom loading placeholder | | error | Custom error placeholder |