From d643119902847051c856bf62e608bb54003368f3 Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期日, 01 十二月 2019 01:31:31 +0800
Subject: [PATCH] 优化框架 命名空间的问题
---
java110-front/src/main/java/com/java110/front/core/VcCreateProcessor.java | 28 +++++++++++++++++++++++++---
1 files changed, 25 insertions(+), 3 deletions(-)
diff --git a/java110-front/src/main/java/com/java110/front/core/VcCreateProcessor.java b/java110-front/src/main/java/com/java110/front/core/VcCreateProcessor.java
index 17bd0dd..39fe3a2 100644
--- a/java110-front/src/main/java/com/java110/front/core/VcCreateProcessor.java
+++ b/java110-front/src/main/java/com/java110/front/core/VcCreateProcessor.java
@@ -59,7 +59,7 @@
//灏嗙粍寤哄悕绉板啓鍏ョ粍寤篐TML 绗竴涓爣绛句腑
addDataComponent(elements, componentName);
- htmlModel.addModel(modelFactory.parse(context.getTemplateData(), doc.body().children().toString()));
+ htmlModel.addModel(modelFactory.parse(context.getTemplateData(), dealHtmlThis(tag, doc.body().children().toString())));
String css = VueComponentTemplate.findTemplateByComponentCode(componentName + "." + VueComponentTemplate.COMPONENT_CSS);
if (css != null) {
@@ -74,12 +74,34 @@
js = dealNameSpace(js, tag);
js = dealJsAddComponentCode(js, tag);
js = "<script type=\"text/javascript\" " + DIV_PROPERTY_COMPONENT + "=\"" + componentName + "\">//<![CDATA[ \n" + js + "//]]>\n</script>";
- htmlModel.add(modelFactory.createText(js));
+ htmlModel.add(modelFactory.createText(dealHtmlJs(tag, js)));
}
logger.debug("瑙f瀽瀹屾垚缁勪欢{},{}", componentName, new Date().getTime());
structureHandler.replaceWith(htmlModel, true);
+ }
+
+ private String dealHtmlThis(IProcessableElementTag tag, String html) {
+
+ if (!tag.hasAttribute("namespace")) {
+ return html;
+ }
+
+ String namespace = tag.getAttributeValue("namespace");
+
+ return html.replace("this.", namespace + "@");
+ }
+
+ private String dealHtmlJs(IProcessableElementTag tag, String js) {
+
+ if (!tag.hasAttribute("namespace")) {
+ return js;
+ }
+
+ String namespace = tag.getAttributeValue("namespace");
+
+ return js.replace("this.", "vc.component."+namespace + "@");
}
@@ -207,7 +229,7 @@
String namespace = "";
if (!tag.hasAttribute("namespace")) {
namespace = DEFAULT_NAMESPACE;
- }else {
+ } else {
namespace = tag.getAttributeValue("namespace");
}
--
Gitblit v1.8.0