mirror of
https://gitee.com/vant-contrib/vant.git
synced 2025-04-06 03:57:59 +08:00
src/utils目录支持SSR (#51)
This commit is contained in:
parent
c332caa229
commit
602dd4844c
@ -18,6 +18,22 @@
|
|||||||
<van-step>交易完成</van-step>
|
<van-step>交易完成</van-step>
|
||||||
</van-steps>
|
</van-steps>
|
||||||
|
|
||||||
|
</example-block><example-block title="只显示步骤条">
|
||||||
|
<van-steps direction="vertical" :active="0" active-color="#f60">
|
||||||
|
<van-step>
|
||||||
|
<h3>【城市】最新的物流状态之类的表述哈哈哈哈</h3>
|
||||||
|
<p>2016-07-12 12:12:12</p>
|
||||||
|
</van-step>
|
||||||
|
<van-step>
|
||||||
|
<h3>【城市】已经过了的物流状态我是折行我是折行我是折行联系电话:158630099999</h3>
|
||||||
|
<p>2016-07-12 12:12:12</p>
|
||||||
|
</van-step>
|
||||||
|
<van-step>
|
||||||
|
<h3>未发货</h3>
|
||||||
|
<p>2016-07-12 12:12:12</p>
|
||||||
|
</van-step>
|
||||||
|
</van-steps>
|
||||||
|
|
||||||
</example-block><example-block title="高级用法">
|
</example-block><example-block title="高级用法">
|
||||||
<van-steps :active="active" title="等待商家发货">
|
<van-steps :active="active" title="等待商家发货">
|
||||||
<van-icon slot="icon" name="like"></van-icon>
|
<van-icon slot="icon" name="like"></van-icon>
|
||||||
|
@ -6,6 +6,8 @@
|
|||||||
* <div v-clickoutside="handleClose">
|
* <div v-clickoutside="handleClose">
|
||||||
* ```
|
* ```
|
||||||
*/
|
*/
|
||||||
|
import Vue from 'vue';
|
||||||
|
const isServer = Vue.prototype.$isServer;
|
||||||
const clickoutsideContext = '@@clickoutsideContext';
|
const clickoutsideContext = '@@clickoutsideContext';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
@ -20,7 +22,7 @@ export default {
|
|||||||
methodName: binding.expression,
|
methodName: binding.expression,
|
||||||
arg: binding.arg || 'click'
|
arg: binding.arg || 'click'
|
||||||
};
|
};
|
||||||
document.addEventListener(el[clickoutsideContext].arg, documentHandler);
|
!isServer && document.addEventListener(el[clickoutsideContext].arg, documentHandler);
|
||||||
},
|
},
|
||||||
|
|
||||||
update(el, binding) {
|
update(el, binding) {
|
||||||
@ -28,7 +30,7 @@ export default {
|
|||||||
},
|
},
|
||||||
|
|
||||||
unbind(el) {
|
unbind(el) {
|
||||||
document.removeEventListener(
|
!isServer && document.removeEventListener(
|
||||||
el[clickoutsideContext].arg,
|
el[clickoutsideContext].arg,
|
||||||
el[clickoutsideContext].documentHandler);
|
el[clickoutsideContext].documentHandler);
|
||||||
},
|
},
|
||||||
|
@ -1,3 +1,6 @@
|
|||||||
|
import Vue from 'vue';
|
||||||
|
const isServer = Vue.prototype.$isServer;
|
||||||
|
|
||||||
const trim = function(string) {
|
const trim = function(string) {
|
||||||
return (string || '').replace(/^[\s\uFEFF]+|[\s\uFEFF]+$/g, '');
|
return (string || '').replace(/^[\s\uFEFF]+|[\s\uFEFF]+$/g, '');
|
||||||
};
|
};
|
||||||
@ -66,7 +69,7 @@ export const once = function(el, event, fn) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
export const on = (function() {
|
export const on = (function() {
|
||||||
if (document.addEventListener) {
|
if (!isServer && document.addEventListener) {
|
||||||
return function(element, event, handler) {
|
return function(element, event, handler) {
|
||||||
if (element && event && handler) {
|
if (element && event && handler) {
|
||||||
element.addEventListener(event, handler, false);
|
element.addEventListener(event, handler, false);
|
||||||
@ -82,7 +85,7 @@ export const on = (function() {
|
|||||||
})();
|
})();
|
||||||
|
|
||||||
export const off = (function() {
|
export const off = (function() {
|
||||||
if (document.removeEventListener) {
|
if (!isServer && document.removeEventListener) {
|
||||||
return function(element, event, handler) {
|
return function(element, event, handler) {
|
||||||
if (element && event) {
|
if (element && event) {
|
||||||
element.removeEventListener(event, handler, false);
|
element.removeEventListener(event, handler, false);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user