Browse Source

global mixin should not drop scope id (fix #4266) (#4274)

dev
katashin 8 years ago
committed by Evan You
parent
commit
c57ba3e622
  1. 1
      src/core/instance/init.js
  2. 14
      test/unit/features/global-api/mixin.spec.js

1
src/core/instance/init.js

@ -72,6 +72,7 @@ export function resolveConstructorOptions (Ctor: Class<Component>) {
Ctor.superOptions = superOptions
extendOptions.render = options.render
extendOptions.staticRenderFns = options.staticRenderFns
extendOptions._scopeId = options._scopeId
options = Ctor.options = mergeOptions(superOptions, extendOptions)
if (options.name) {
options.components[options.name] = Ctor

14
test/unit/features/global-api/mixin.spec.js

@ -70,4 +70,18 @@ describe('Global API: mixin', () => {
expect(vm.$el.textContent).toBe('hello')
})
// #4266
it('should not drop scopedId', () => {
const Test = Vue.extend({})
Test.options._scopeId = 'foo'
Vue.mixin({})
const vm = new Test({
template: '<div><p>hi<p></div>'
}).$mount()
expect(vm.$el.children[0].hasAttribute('foo')).toBe(true)
})
})

Loading…
Cancel
Save