【vue】推荐的风格指南(总结自官网)
创始人
2024-03-23 23:23:36

组件名为多个单词

组件名应该始终是多个单词的,根组件 App 以及 、 之类的 Vue 内置组件除外。

Vue.component('todo-item', {// ...
})
export default {name: 'TodoItem',// ...
}

组件的 data 必须是一个函数。

Prop 定义应该尽量详细。

// 更好的做法!
props: {status: {type: String,required: true,validator: function (value) {return ['syncing','synced','version-conflict','error'].indexOf(value) !== -1}}
}

为 v-for 设置键值 总是用 key 配合 v-for。

    {{ todo.text }}

避免 v-if 和 v-for 用在一起

永远不要把 v-if 和 v-for 同时用在同一个元素上。

    {{ user.name }}

为组件样式设置作用域

这条规则只和单文件组件有关。



私有 property 名

使用模块作用域保持不允许外部访问的函数的私有性。如果无法做到这一点,就始终为插件、混入等不考虑作为对外公共 API 的自定义私有 property 使用 $_ 前缀。并附带一个命名空间以回避和其它作者的冲突 (比如 $yourPluginName)

// 甚至更好!
var myGreatMixin = {// ...methods: {publicMethod() {// ...myPrivateFunction()}}
}function myPrivateFunction() {// ...
}export default myGreatMixin

单文件组件文件名的大小写强烈推荐

单文件组件的文件名应该要么始终是单词大写开头 (PascalCase),要么始终是横线连接 (kebab-case)。

components/
|- MyComponent.vuecomponents/
|- my-component.vue

基础组件名强烈推荐

应用特定样式和约定的基础组件 (也就是展示类的、无逻辑的或无状态的组件) 应该全部以一个特定的前缀开头,比如 Base、App 或 V。

紧密耦合的组件名

和父组件紧密耦合的子组件应该以父组件名作为前缀命名。

components/
|- SearchSidebar.vue
|- SearchSidebarNavigation.vue

完整单词的组件名强烈推荐

组件名应该倾向于完整单词而不是缩写。

components/
|- StudentDashboardSettings.vue
|- UserProfileOptions.vue

Prop 名大小写

在声明 prop 的时候,其命名应该始终使用 camelCase,而在模板和 JSX 中应该始终使用 kebab-case。

props: {greetingText: String
}

模板中简单的表达式强烈推荐

组件模板应该只包含简单的表达式,复杂的表达式则应该重构为计算属性或方法。


{{ normalizedFullName }}
// 复杂表达式已经移入一个计算属性
computed: {normalizedFullName: function () {return this.fullName.split(' ').map(function (word) {return word[0].toUpperCase() + word.slice(1)}).join(' ')}
}

相关内容

热门资讯

十字对开门冰箱热卖排行榜 小户... 清晨阳光斜照进整洁的厨房,一碗隔夜炖好的银耳羹仍清润如初,青菜叶片挺括水灵,鸡蛋壳上还凝着细微水珠—...
最新冰箱性价比推荐 学生宿舍低... 清晨赶早课前顺手取一杯冰镇酸奶,深夜复习时打开冰箱拿一盒水果补充能量——对学生党而言,一台安静、省电...
再走长征路|心栖娄山:一个“候... 中经记者 王登海 黄永旭 遵义报道仲夏时节,黔北大地暑气渐盛,来自四川的退休教师赵俊毅提前20多天来...
铸魂聚力 实干兴业 (来源:沈阳日报)转自:沈阳日报  7月10日,全国五一劳动奖章获得者苏广林在中国工商银行沈阳南站支...
摩根大通AI投资组合回测跑赢传...   摩根大通最新发布的研究报告显示,其开发的八个人工智能投资代理在长达二十年的历史回测中,表现超越了...