From fceacc39b70951beb25f7540de02b3a383253a46 Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期日, 01 十二月 2019 11:54:30 +0800
Subject: [PATCH] 优化core.js

---
 java110-front/src/main/resources/static/js/vc-core.js |  110 ++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 81 insertions(+), 29 deletions(-)

diff --git a/java110-front/src/main/resources/static/js/vc-core.js b/java110-front/src/main/resources/static/js/vc-core.js
index 904da84..086d569 100644
--- a/java110-front/src/main/resources/static/js/vc-core.js
+++ b/java110-front/src/main/resources/static/js/vc-core.js
@@ -1,41 +1,90 @@
 /**
-    鍒濆鍖杤ue 瀵硅薄
-    @param vc vue component瀵硅薄
-    @param vmOptions Vue鍙傛暟
-**/
-(function(vc,vmOptions){
-    console.log("vmOptions:",vmOptions);
+ 鍒濆鍖杤ue 瀵硅薄
+ @param vc vue component瀵硅薄
+ @param vmOptions Vue鍙傛暟
+ **/
+(function (vc, vmOptions) {
+    console.log("vmOptions:", vmOptions);
     vc.component = new Vue(vmOptions);
-})(window.vc,window.vc.vmOptions);
+})(window.vc, window.vc.vmOptions);
 
 
 /**
-    vc鐩戝惉浜嬩欢
-**/
-(function(vc){
-     /**
-            浜嬩欢鐩戝惉
+ vc鐩戝惉浜嬩欢
+ **/
+(function (vc) {
+    /**
+     浜嬩欢鐩戝惉
      **/
-    vc.on = function(_componentName,_value,_callback){
-
-        vc.component.$on(_componentName+'_'+_value,
-            function (param){
-                    if(vc.consoleFlag){
-                        console.log("鐩戝惉ON浜嬩欢",_componentName,_value);
+    vc.on = function () {
+        var _namespace = "";
+        var _componentName = "";
+        var _value = "";
+        var _callback = undefined;
+        if (arguments.length == 4) {
+            _namespace = arguments[0];
+            _componentName = arguments[1];
+            _value = arguments[2];
+            _callback = arguments[3];
+        } else if (arguments.length == 3) {
+            _componentName = arguments[0];
+            _value = arguments[1];
+            _callback = arguments[2];
+        } else {
+            console.error("鎵цon 寮傚父锛寁c.on 鍙傛暟鍙兘鏄�3涓� 鎴�4涓�");
+            return;
+        }
+        if (vc.notNull(_namespace)) {
+            vc.component.$on(_namespace + "_" + _componentName + '_' + _value,
+                function (param) {
+                    if (vc.debug) {
+                        console.log("鐩戝惉ON浜嬩欢", _namespace, _componentName, _value, param);
                     }
                     _callback(param);
                 }
             );
+            return;
+        }
+
+        vc.component.$on(_componentName + '_' + _value,
+            function (param) {
+                if (vc.debug) {
+                    console.log("鐩戝惉ON浜嬩欢", _componentName, _value, param);
+                }
+                _callback(param);
+            }
+        );
     };
 
     /**
-            浜嬩欢瑙﹀彂
-    **/
-    vc.emit = function(_componentName,_value,_param){
-        if(vc.consoleFlag){
-            console.log("鐩戝惉emit浜嬩欢",_componentName,_value,_param);
+     浜嬩欢瑙﹀彂
+     **/
+    vc.emit = function () {
+        var _namespace = "";
+        var _componentName = "";
+        var _value = "";
+        var _param = undefined;
+        if (arguments.length == 4) {
+            _namespace = arguments[0];
+            _componentName = arguments[1];
+            _value = arguments[2];
+            _param = arguments[3];
+        } else if (arguments.length == 3) {
+            _componentName = arguments[0];
+            _value = arguments[1];
+            _param = arguments[2];
+        } else {
+            console.error("鎵цon 寮傚父锛寁c.on 鍙傛暟鍙兘鏄�3涓� 鎴�4涓�");
+            return;
         }
-        vc.component.$emit(_componentName+'_'+_value,_param);
+        if (vc.debug) {
+            console.log("鐩戝惉emit浜嬩欢", _namespace, _componentName, _value, _param);
+        }
+        if (vc.notNull(_namespace)) {
+            vc.component.$emit(_namespace + "_" + _componentName + '_' + _value, _param);
+            return;
+        }
+        vc.component.$emit(_componentName + '_' + _value, _param);
     };
 
 })(window.vc);
@@ -43,12 +92,15 @@
 /**
  * vue瀵硅薄 鎵ц鍒濆鍖栨柟娉�
  */
-(function(vc){
-    vc.initEvent.forEach(function(eventMethod){
+(function (vc) {
+    vc.initEvent.forEach(function (eventMethod) {
         eventMethod();
-   });
-   vc.initMethod.forEach(function(callback){
+    });
+    vc.initMethod.forEach(function (callback) {
         callback();
-   });
+    });
+    vc.namespace.forEach(function (_param) {
+        vc[_param.namespace] = vc.component[_param.namespace];
+    });
 })(window.vc);
 

--
Gitblit v1.8.0