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
1 changed files with 13 additions and 6 deletions

View File

@ -5,24 +5,31 @@
export default {
name: 'no-ssr',
props: ['placeholder'],
data () {
data() {
return {
canRender: false
}
},
mounted () {
mounted() {
this.canRender = true
},
render (h) {
render(h) {
if (this.canRender) {
if (
process.env.NODE_ENV === 'development' &&
this.$slots.default &&
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
)
}
}