Update no-ssr to v0.2.1

This commit is contained in:
Daniel Post 2017-11-21 12:13:35 +00:00 committed by GitHub
parent 9bf73b0b5a
commit dac47d43bf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -5,24 +5,31 @@
export default { export default {
name: 'no-ssr', name: 'no-ssr',
props: ['placeholder'], props: ['placeholder'],
data () { data() {
return { return {
canRender: false canRender: false
} }
}, },
mounted () { mounted() {
this.canRender = true this.canRender = true
}, },
render (h) { render(h) {
if (this.canRender) { if (this.canRender) {
if ( if (
process.env.NODE_ENV === 'development' && process.env.NODE_ENV === 'development' &&
this.$slots.default &&
this.$slots.default.length > 1 this.$slots.default.length > 1
) { ) {
throw new Error('<no-ssr> You cannot use multiple child components') throw new Error('[vue-no-ssr] You cannot use multiple child components')
} }
return this.$slots.default[0] return this.$slots.default && this.$slots.default[0]
} }
return h('div', { class: { 'no-ssr-placeholder': true } }, this.placeholder) return h(
'div',
{
class: ['no-ssr-placeholder']
},
this.placeholder
)
} }
} }