|
|
@@ -33,6 +33,7 @@ export default {
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
|
+ mountedAt: 0
|
|
|
}
|
|
|
},
|
|
|
computed: {
|
|
|
@@ -48,7 +49,28 @@ export default {
|
|
|
return 'linear-gradient(160deg, #FFF7ED 0%, rgba(' + r + ',' + g + ',' + b + ',0.4) 100%)'
|
|
|
}
|
|
|
},
|
|
|
- // mounted 已清空:显隐完全由父组件 v-if 控制
|
|
|
+ mounted() {
|
|
|
+ this.mountedAt = Date.now()
|
|
|
+ var self = this
|
|
|
+ // 最多 3 秒强制关闭
|
|
|
+ setTimeout(function() {
|
|
|
+ self.$emit('close')
|
|
|
+ }, 3000)
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ // 父组件数据加载完成后调用,过渡页至少停留 800ms
|
|
|
+ markReady: function() {
|
|
|
+ var elapsed = Date.now() - this.mountedAt
|
|
|
+ if (elapsed >= 800) {
|
|
|
+ this.$emit('close')
|
|
|
+ } else {
|
|
|
+ var self = this
|
|
|
+ setTimeout(function() {
|
|
|
+ self.$emit('close')
|
|
|
+ }, 800 - elapsed)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
</script>
|
|
|
|