前面的话
Vue官网的风格指南按照优先级(依次为必要、强烈推荐、推荐、谨慎使用)分类,且代码间隔较大,不易查询。本文按照类型分类,并对部分示例或解释进行缩减,是Vue风格指南的精简版
组件名称
【组件名为多个单词】(必要)
组件名应该始终是多个单词的,根组件 App 除外。 这样做可以避免跟现有的以及未来的 HTML 元素相冲突,因为所有的 HTML 元素名称都是单个单词的
//bad Vue.component('todo', {}) //good Vue.component('todo-item', {})
【单文件组件文件名应该要么始终是单词大写开头 (PascalCase),要么始终横线连接 (kebab-case)】(强烈推荐)
//bad mycomponent.vue //good MyComponent.vue //good my-component.vue
【基础组件名要有一个特定前缀开头】(强烈推荐)
应用特定样式和约定的基础组件 (也就是展示类的、无逻辑的或无状态的组件) 应该全部以一个特定的前缀开头,比如 Base、App 或 V
//bad components/ |- MyButton.vue |- VueTable.vue |- Icon.vue //good components/ |- BaseButton.vue |- BaseTable.vue |- BaseIcon.vue
【只应该拥有单个活跃实例的组件应该以 The 前缀命名,以示其唯一性】(强烈推荐)
这不意味着组件只可用于一个单页面,而是 每个页面 只使用一次,这些组件永远不接受任何 prop
//bad components/ |- Heading.vue |- MySidebar.vue //good components/ |- TheHeading.vue |- TheSidebar.vue
【和父组件紧密耦合的子组件应该以父组件名作为前缀命名】(强烈推荐)
//bad components/ |- TodoList.vue |- TodoItem.vue |- TodoButton.vue //good components/ |- SearchSidebar.vue |- SearchSidebarNavigation.vue
【组件名应该以高级别的 (通常是一般化描述的) 单词开头,以描述性的修饰词结尾】(强烈推荐)
//bad components/ |- ClearSearchButton.vue |- ExcludeFromSearchInput.vue |- LaunchOnStartupCheckbox.vue |- RunSearchButton.vue |- SearchInput.vue |- TermsCheckbox.vue //good components/ |- SearchButtonClear.vue |- SearchButtonRun.vue |- SearchInputQuery.vue |- SearchInputExcludeGlob.vue |- SettingsCheckboxTerms.vue |- SettingsCheckboxLaunchOnStartup.vue
【单文件组件和字符串模板中组件名应总是PascalCase——但在DOM模板中总是kebab-case】(强烈推荐)
//bad <!-- 在单文件组件和字符串模板中 --> <mycomponent/> <myComponent/> <!-- 在 DOM 模板中 --> <MyComponent></MyComponent> //good <!-- 在单文件组件和字符串模板中 --> <MyComponent/> <!-- 在 DOM 模板中 --> <my-component></my-component>
内容版权声明:除非注明,否则皆为本站原创文章。