From 602dd4844cda4d3538a415ffd001bf7bfb9ab044 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=95=8F?= <cookfront@gmail.com> Date: Thu, 6 Jul 2017 10:02:09 +0800 Subject: [PATCH] =?UTF-8?q?src/utils=E7=9B=AE=E5=BD=95=E6=94=AF=E6=8C=81SS?= =?UTF-8?q?R=20(#51)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/examples-dist/steps.vue | 16 ++++++++++++++++ src/utils/clickoutside.js | 6 ++++-- src/utils/dom.js | 7 +++++-- 3 files changed, 25 insertions(+), 4 deletions(-) diff --git a/docs/examples-dist/steps.vue b/docs/examples-dist/steps.vue index e2317d29d..735c128fb 100644 --- a/docs/examples-dist/steps.vue +++ b/docs/examples-dist/steps.vue @@ -18,6 +18,22 @@ <van-step>交易完成</van-step> </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="高级用法"> <van-steps :active="active" title="等待商家发货"> <van-icon slot="icon" name="like"></van-icon> diff --git a/src/utils/clickoutside.js b/src/utils/clickoutside.js index db5e6a871..28c8f36a9 100644 --- a/src/utils/clickoutside.js +++ b/src/utils/clickoutside.js @@ -6,6 +6,8 @@ * <div v-clickoutside="handleClose"> * ``` */ +import Vue from 'vue'; +const isServer = Vue.prototype.$isServer; const clickoutsideContext = '@@clickoutsideContext'; export default { @@ -20,7 +22,7 @@ export default { methodName: binding.expression, arg: binding.arg || 'click' }; - document.addEventListener(el[clickoutsideContext].arg, documentHandler); + !isServer && document.addEventListener(el[clickoutsideContext].arg, documentHandler); }, update(el, binding) { @@ -28,7 +30,7 @@ export default { }, unbind(el) { - document.removeEventListener( + !isServer && document.removeEventListener( el[clickoutsideContext].arg, el[clickoutsideContext].documentHandler); }, diff --git a/src/utils/dom.js b/src/utils/dom.js index b5c2550a6..45f9e385b 100644 --- a/src/utils/dom.js +++ b/src/utils/dom.js @@ -1,3 +1,6 @@ +import Vue from 'vue'; +const isServer = Vue.prototype.$isServer; + const trim = function(string) { return (string || '').replace(/^[\s\uFEFF]+|[\s\uFEFF]+$/g, ''); }; @@ -66,7 +69,7 @@ export const once = function(el, event, fn) { }; export const on = (function() { - if (document.addEventListener) { + if (!isServer && document.addEventListener) { return function(element, event, handler) { if (element && event && handler) { element.addEventListener(event, handler, false); @@ -82,7 +85,7 @@ export const on = (function() { })(); export const off = (function() { - if (document.removeEventListener) { + if (!isServer && document.removeEventListener) { return function(element, event, handler) { if (element && event) { element.removeEventListener(event, handler, false);