|
|
@@ -36,6 +36,13 @@ export function renderMixin (Vue: Class<Component>) {
|
|
|
_parentVnode
|
|
|
} = vm.$options
|
|
|
|
|
|
+ if (vm._isMounted) {
|
|
|
+ // clone slot nodes on re-renders
|
|
|
+ for (const key in vm.$slots) {
|
|
|
+ vm.$slots[key] = cloneVNodes(vm.$slots[key])
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
if (staticRenderFns && !vm._staticTrees) {
|
|
|
vm._staticTrees = []
|
|
|
}
|
|
|
@@ -154,20 +161,14 @@ export function renderMixin (Vue: Class<Component>) {
|
|
|
fallback: ?Array<VNode>
|
|
|
): ?Array<VNode> {
|
|
|
let slotNodes = this.$slots[name]
|
|
|
- if (slotNodes) {
|
|
|
- // warn duplicate slot usage
|
|
|
- if (process.env.NODE_ENV !== 'production') {
|
|
|
- slotNodes._rendered && warn(
|
|
|
- `Duplicate presense of slot "${name}" found in the same render tree ` +
|
|
|
- `- this will likely cause render errors.`,
|
|
|
- this
|
|
|
- )
|
|
|
- slotNodes._rendered = true
|
|
|
- }
|
|
|
- // clone slot nodes on re-renders
|
|
|
- if (this._isMounted) {
|
|
|
- slotNodes = cloneVNodes(slotNodes)
|
|
|
- }
|
|
|
+ // warn duplicate slot usage
|
|
|
+ if (slotNodes && process.env.NODE_ENV !== 'production') {
|
|
|
+ slotNodes._rendered && warn(
|
|
|
+ `Duplicate presense of slot "${name}" found in the same render tree ` +
|
|
|
+ `- this will likely cause render errors.`,
|
|
|
+ this
|
|
|
+ )
|
|
|
+ slotNodes._rendered = true
|
|
|
}
|
|
|
return slotNodes || fallback
|
|
|
}
|