fix(runtime-core): support extends template for runtime compiler (#6250)
fix #6249
This commit is contained in:
parent
6624ead663
commit
9875ecd762
@ -12,6 +12,7 @@ import {
|
|||||||
createApp,
|
createApp,
|
||||||
computed
|
computed
|
||||||
} from '@vue/runtime-test'
|
} from '@vue/runtime-test'
|
||||||
|
import { render as domRender } from 'vue'
|
||||||
|
|
||||||
describe('api: options', () => {
|
describe('api: options', () => {
|
||||||
test('data', async () => {
|
test('data', async () => {
|
||||||
@ -1035,6 +1036,19 @@ describe('api: options', () => {
|
|||||||
expect(renderToString(h(Comp))).toBe('base,base')
|
expect(renderToString(h(Comp))).toBe('base,base')
|
||||||
})
|
})
|
||||||
|
|
||||||
|
test('extends template', () => {
|
||||||
|
const Comp = {
|
||||||
|
extends: {
|
||||||
|
template: `<h1>Foo</h1>`
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const root = document.createElement('div') as any
|
||||||
|
domRender(h(Comp), root)
|
||||||
|
expect(root.innerHTML).toBe(`<h1>Foo</h1>`)
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
test('options defined in component have higher priority', async () => {
|
test('options defined in component have higher priority', async () => {
|
||||||
const Mixin = {
|
const Mixin = {
|
||||||
msg1: 'base'
|
msg1: 'base'
|
||||||
|
@ -35,7 +35,8 @@ import {
|
|||||||
applyOptions,
|
applyOptions,
|
||||||
ComponentOptions,
|
ComponentOptions,
|
||||||
ComputedOptions,
|
ComputedOptions,
|
||||||
MethodOptions
|
MethodOptions,
|
||||||
|
resolveMergedOptions
|
||||||
} from './componentOptions'
|
} from './componentOptions'
|
||||||
import {
|
import {
|
||||||
EmitsOptions,
|
EmitsOptions,
|
||||||
@ -792,7 +793,8 @@ export function finishComponentSetup(
|
|||||||
(__COMPAT__ &&
|
(__COMPAT__ &&
|
||||||
instance.vnode.props &&
|
instance.vnode.props &&
|
||||||
instance.vnode.props['inline-template']) ||
|
instance.vnode.props['inline-template']) ||
|
||||||
Component.template
|
Component.template ||
|
||||||
|
resolveMergedOptions(instance).template
|
||||||
if (template) {
|
if (template) {
|
||||||
if (__DEV__) {
|
if (__DEV__) {
|
||||||
startMeasure(instance, `compile`)
|
startMeasure(instance, `compile`)
|
||||||
|
Loading…
Reference in New Issue
Block a user