src/utils目录支持SSR (#51)

This commit is contained in:
张敏
2017-07-06 10:02:09 +08:00
committed by GitHub
parent c332caa229
commit 602dd4844c
3 changed files with 25 additions and 4 deletions
+4 -2
View File
@@ -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);
},
+5 -2
View File
@@ -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);