我有四个部分:comments.vuecomments-list.vuecomment.vuecomment-new.vue.

comments.vue使用其他组件来显示:

  1. 注释列表(没有任何ajax调用)

    a、 其中包含单个注释(基本上只是一个带有单个属性的模板)

  2. 发送 comments 的文本区(有ajax调用)

comments.vue具有加载分页注释的所有逻辑

所以我的问题是:责任分离好吗?

推荐答案

你可以查Vue.js Component Style Guide

在指南中:

Vue Component Names

每个组件名称必须是:

  • 有意义:不过分具体,不过分抽象.
  • 简短:2或3个单词.
  • 可发音:我们希望能够谈论它们.

Vue组件名称还必须是:

  • 符合自定义元素规范:包括连字符,不使用保留字符
  • 应用程序-名称空间:如果非常通用,则为1个单词,这样就可以

Why?

该名称用于传达有关组件的信息.因此,它必须简短、有意义且可发音.

How?

 <!-- recommended -->
<app-header></app-header>
<user-list></user-list>
<range-slider></range-slider>

<!-- avoid -->
<btn-group></btn-group> <!-- short, but unpronounceable. use `button-group` instead -->
<ui-slider></ui-slider> <!-- all components are ui elements, so is meaningless -->
<slider></slider> <!-- not custom element spec compliant -->   

Vue.js相关问答推荐

用于循环数组的模板元素内的条件渲染

Vuetify 3 - NavBar 组件占据整个视口高度

如何对将 DOM 元素附加到 HTML 正文的 Vue 组件进行单元测试?

从数据库中删除后,Vue.js $remove 不删除元素

在 dom 内移动 Vue 组件?

在 Vue 中启用(控制台)记录路由事件

Vue CLI - 编译后将配置文件保留为外部

如何在map中添加新的标记 onclick?

VueJs this.method 不是函数?如何在 Vuejs 的另一个方法中调用一个方法?

Vuetify Datatable - 在所有列上启用内容编辑

Vue.js 中 Chrome 和 Datalist 的性能问题

v-model 不会检测到 jQuery 触发事件所做的更改

如何在 VUE 应用中使用 sass?

Vue-i18n '无法读取 Proxy.Vue.$t 处未定义的属性 '_t'

Leaflet+Vue+Vuetify / Leaflet map 隐藏 vuetify 弹出对话框

异步api调用后如何使用vuex getter

如果我刷新我的网页,Vuex store是空的

如何在 NuxtJS 中设置全局 $axios 标头

使用 Vee-validate 禁用按钮,直到正确填写表单

如何在 vue3 中的setup方法中发出事件?