【发布时间】:2019-11-19 06:01:07
【问题描述】:
我创建了一个 Vue 按钮,当单击并加载更多内容时,它会显示“加载更多”,然后显示“正在加载...”。但是,我现在想在“正在加载”旁边添加另一个组件作为加载动画。该按钮完全可以正常工作,但我只想在“加载”一词旁边添加该动画。
我曾尝试使用 Vue 的 ref 标签,但在我的方法中成功使用它的运气并不好。
Loader.vue:
<template>
<div
ref="sdcVueLoader"
class="sdc-vue-Loader"
>
Loading...
</div>
</template>
<script>
export default {
name: 'Loader'
</script>
App.vue:
<Button
:disabled="clicked"
@click="loadMore"
>
{{ loadMoreText }}
</Button>
<script>
import Button from './components/Button'
import Loader from './components/Loader'
export default {
name: 'ParentApp',
components: {
Button,
Loader
},
data () {
return {
loadMoreText: 'Load More',
clicked: false
}
},
methods: {
loadMore () {
if ... {
this.page += 1
this.loadMoreText = 'Loading...' + this.$refs.sdcVueLoader
this.clicked = true
this.somerequest().then(resp => {
this.clicked = false
this.loadMoreText = 'Load More'
})
return this.loadMoreText
}
}
</script>
我希望按钮能够像现在一样继续工作,但现在当在 app.vue loadMore 方法中单击按钮时,“Loader”组件也会显示在“正在加载...”旁边。
【问题讨论】:
标签: javascript vue.js vuejs2 vue-component vue-cli