diff --git a/sui/core/data.go b/sui/core/data.go index a2f9bcb0..ed01e89f 100644 --- a/sui/core/data.go +++ b/sui/core/data.go @@ -11,8 +11,9 @@ import ( "github.com/yaoapp/kun/log" ) -var stmtRe = regexp.MustCompile(`\{\{([^}]+)\}\}`) -var propRe = regexp.MustCompile(`\[\{([^}]+)\}\]`) +// If set the map value, should keep the space at the end of the statement +var stmtRe = regexp.MustCompile(`\{\{(.*?)\}\}`) +var propRe = regexp.MustCompile(`\[\{(.*?)\}\]`) // Data data for the template type Data map[string]interface{} diff --git a/sui/core/parser.go b/sui/core/parser.go index fb1b1ecb..e75ed1d1 100644 --- a/sui/core/parser.go +++ b/sui/core/parser.go @@ -331,6 +331,9 @@ func (parser *TemplateParser) ifStatementNode(sel *goquery.Selection) { } if res == true { + parser.removeParsed(sel) + parser.parseElementAttrs(sel) + parser.parsed(sel) parser.show(sel) return } @@ -345,6 +348,9 @@ func (parser *TemplateParser) ifStatementNode(sel *goquery.Selection) { } if res == true { + parser.removeParsed(elifNode) + parser.parseElementAttrs(elifNode) + parser.parsed(elifNode) parser.show(elifNode) return } @@ -352,6 +358,9 @@ func (parser *TemplateParser) ifStatementNode(sel *goquery.Selection) { // else if elseNode != nil { + parser.removeParsed(elseNode) + parser.parseElementAttrs(elseNode) + parser.parsed(elseNode) parser.show(elseNode) } }