comment.vue
1.48 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
<template>
<Layout style="background: none;">
<LayoutHeader class="comment-header" :back="!popup" theme="white" slot='header'>
{{headerText}}
<template v-slot:opts v-if="popup">
<i class="iconfont icon-close icon" @touchend.prevent="onClose"></i>
</template>
</LayoutHeader>
<CommentList ref="commentList" :dest-id="destId" :pos-id="posId" :article-id="articleId" :comment-id="commentId" :column-type="1001" @on-page-change="onPageChange" @on-comment="onComment" @on-page-ready="onPageReady" @on-close="onClose"></CommentList>
</Layout>
</template>
<script>
import CommentList from './comment-list';
export default {
name: 'Comment',
props: {
destId: Number,
popup: {
type: Boolean,
default: false
},
posId: Number,
articleId: Number,
commentId: Number,
commentCount: Number
},
data() {
return {
size: 0
};
},
computed: {
headerText() {
return this.commentCount ? `${this.commentCount}条评论` : '评论';
}
},
methods: {
onPageChange({size}) {
this.size = size;
},
onPageReady(params) {
this.$emit('on-page-ready', params);
},
onClose() {
this.$emit('on-close');
},
init() {
this.size = 0;
this.$refs.commentList.init();
},
onComment(params) {
this.$emit('on-comment', params);
}
},
components: {CommentList}
};
</script>
<style scoped lang="scss">
.comment-header {
padding-top: 0!important;
}
</style>