mirror of https://github.com/vuejs/vue.git
do not merge empty class on component placeholder (fix #2789)
This commit is contained in:
parent
8879c82296
commit
b5c1bf604d
|
@ -151,8 +151,8 @@ function mergeAttrs (from, to) {
|
|||
value = attrs[i].value
|
||||
if (!to.hasAttribute(name) && !specialCharRE.test(name)) {
|
||||
to.setAttribute(name, value)
|
||||
} else if (name === 'class' && !parseText(value)) {
|
||||
value.trim().split(/\s+/).forEach(function (cls) {
|
||||
} else if (name === 'class' && !parseText(value) && (value = value.trim())) {
|
||||
value.split(/\s+/).forEach(function (cls) {
|
||||
addClass(to, cls)
|
||||
})
|
||||
}
|
||||
|
|
|
@ -119,6 +119,16 @@ describe('Transclude', function () {
|
|||
expect(res.getAttribute('title')).toBe('child')
|
||||
})
|
||||
|
||||
// #2789
|
||||
it('empty class merge', () => {
|
||||
el.setAttribute('class', '')
|
||||
options.template = '<div class="test"></div>'
|
||||
options.replace = true
|
||||
options._asComponent = true
|
||||
var res = transclude(el, options)
|
||||
expect(res.getAttribute('class')).toBe('test')
|
||||
})
|
||||
|
||||
it('class merge for svg elements', function () {
|
||||
el.setAttribute('class', 'test')
|
||||
options.template = '<circle class="other"></circle>'
|
||||
|
|
Loading…
Reference in New Issue