Skip to content

Commit 45646f1

Browse files
committed
Merge pull request vuejs#2182 from tgeorgiev/dev
stringToFragment not using cache when templateString != templateStrin…
2 parents 6084fd3 + 88352e7 commit 45646f1

File tree

2 files changed

+11
-4
lines changed

2 files changed

+11
-4
lines changed

src/parsers/template.js

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -108,10 +108,8 @@ function stringToFragment (templateString, raw) {
108108
var suffix = wrap[2]
109109
var node = document.createElement('div')
110110

111-
if (!raw) {
112-
templateString = templateString.trim()
113-
}
114-
node.innerHTML = prefix + templateString + suffix
111+
var templateStringToUse = raw ? templateString : templateString.trim()
112+
node.innerHTML = prefix + templateStringToUse + suffix
115113
while (depth--) {
116114
node = node.lastChild
117115
}

test/unit/specs/parsers/template_spec.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -170,4 +170,13 @@ describe('Template Parser', function () {
170170
expect(res.childNodes.length).toBe(1)
171171
expect(res.firstChild.tagName).toBe('P')
172172
})
173+
174+
it('should reuse fragment from cache for the same string template', function () {
175+
var stringTemplate = ' <p>test</p> '
176+
// When parsing a template, adds the created fragment to a cache
177+
var res = parse(stringTemplate)
178+
179+
var newRes = parse(stringTemplate)
180+
expect(newRes).toBe(res)
181+
})
173182
})

0 commit comments

Comments
 (0)