Toggle navigation
Toggle navigation
This project
Loading...
Sign in
fe
/
yohoblk-wap
·
Commits
Go to a project
GitLab
Go to group
Project
Activity
Files
Commits
Pipelines
0
Builds
0
Graphs
Milestones
Issues
0
Merge Requests
0
Members
Labels
Wiki
Forks
Network
Create a new issue
Download as
Email Patches
Plain Diff
Browse Files
Authored by
陈峰
7 years ago
Commit
4b54018c54df955fe5121e16ae76d19dc619b244
1 parent
91f2aeff
swipe async component
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
44 additions
and
21 deletions
src/components/layout/awesome-swiper.js
src/components/layout/index.js
src/components/resources/resource-focus-image.vue
src/pages/product/detail/components/product-swipe.vue
src/components/layout/awesome-swiper.js
0 → 100644
View file @
4b54018
import
Vue
from
'vue'
;
async
function
getComponent
()
{
return
[
await
import
(
/* webpackChunkName: "swiper" */
'vue-awesome-swiper/dist/ssr'
),
await
import
(
/* webpackChunkName: "swiper" */
'swiper/dist/css/swiper.css'
)];
}
export
default
function
AwesomeSwiper
()
{
return
{
component
:
new
Promise
(
async
(
resolve
)
=>
{
if
(
process
.
env
.
VUE_ENV
===
'client'
)
{
Vue
.
use
((
await
getComponent
())[
0
]);
}
resolve
({
props
:
{
options
:
{
type
:
Object
,
default
()
{
return
{};
}
},
name
:
String
},
render
:
function
(
h
)
{
return
h
(
'div'
,
{
directives
:
[{
name
:
'swiper'
,
arg
:
this
.
name
,
value
:
this
.
options
}]
},
this
.
$slots
.
default
);
}
});
}),
};
}
...
...
src/components/layout/index.js
View file @
4b54018
...
...
@@ -2,10 +2,12 @@ import HeaderBox from './header-box';
import
LayoutBody
from
'./layout-body'
;
import
LazyHtml
from
'./lazy-html'
;
import
Scroller
from
'./scroller'
;
import
AwesomeSwiper
from
'./awesome-swiper'
;
export
default
{
HeaderBox
,
LayoutBody
,
LazyHtml
,
Scroller
Scroller
,
AwesomeSwiper
};
...
...
src/components/resources/resource-focus-image.vue
View file @
4b54018
<template>
<div class="focus-image">
<
div v-swiper:mySwiper
="swiperOption" class="swipe">
<
awesome-swiper name="mySwiper" :options
="swiperOption" class="swipe">
<div class="swiper-wrapper">
<div class="swiper-slide" v-for="focus in value" :style="{backgroundColor: focus.bgColor}">
<a-link :href="focus.url">
...
...
@@ -8,19 +8,10 @@
</a-link>
</div>
</div>
<div class="swiper-pagination"></div>
</div>
</awesome-swiper>
</div>
</template>
<client>
import Vue from 'vue';
import('swiper/dist/css/swiper.css');
const VueAwesomeSwiper = require('vue-awesome-swiper/dist/ssr');
Vue.use(VueAwesomeSwiper);
</client>
<script>
import Resource from './resource';
...
...
src/pages/product/detail/components/product-swipe.vue
View file @
4b54018
<template>
<div class="image-swipe">
<div class="swipe-wrap" @click.prevent="showcase()">
<
div v-swiper:mySwiper
="swiperOption" ref="mySwiper" v-if="reload">
<
awesome-swiper name="mySwiper" :options
="swiperOption" ref="mySwiper" v-if="reload">
<div class="swiper-wrapper">
<div class="swiper-slide" v-for="item in goodsList" :key="item.goods_id">
<img :src="item.color_image" alt="">
</div>
</div>
</
div
>
</
awesome-swiper
>
<div class="swipe-mask" v-show="!show">
<div class="item left"></div>
<div class="item middle"></div>
...
...
@@ -22,13 +22,6 @@
</div>
</div>
</template>
<client>
import Vue from 'vue';
import('swiper/dist/css/swiper.css');
const VueAwesomeSwiper = require('vue-awesome-swiper/dist/ssr');
Vue.use(VueAwesomeSwiper);
</client>
<script>
import _ from 'lodash/core';
import {getImgUrl} from 'common/utils';
...
...
Please
register
or
login
to post a comment