forked from FZUSESPR21W/meeting-system-team6
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
951aee5
commit b32e30d
Showing
1 changed file
with
66 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,66 @@ | ||
## vue文档规范 | ||
|
||
>组件名应该始终是多个单词的,根组件 App 以及 <transition>、<component> 之类的 Vue 内置组件除外。这样做可以避免跟现有的以及未来的 HTML 元素相冲突,因为所有的 HTML 元素名称都是单个单词的。 | ||
``` | ||
Vue.component('todo-item', { | ||
// ... | ||
}) | ||
export default { | ||
name: 'TodoItem', | ||
// ... | ||
} | ||
``` | ||
>组件的 data 必须是一个函数。当在组件中使用 data property 的时候 (除了 new Vue 外的任何地方),它的值必须是返回一个对象的函数。 | ||
>Prop 定义应该尽量详细。 | ||
在你提交的代码中,prop 的定义应该尽量详细,至少需要指定其类型。 | ||
``` | ||
props: { | ||
status: String | ||
} | ||
// 更好的做法! | ||
props: { | ||
status: { | ||
type: String, | ||
required: true, | ||
validator: function (value) { | ||
return [ | ||
'syncing', | ||
'synced', | ||
'version-conflict', | ||
'error' | ||
].indexOf(value) !== -1 | ||
} | ||
} | ||
} | ||
``` | ||
|
||
>用 key 配合 v-for。在组件上总是必须用 key 配合 v-for,以便维护内部组件及其子树的状态。 | ||
>避免v-ifhe v-for一起使用 | ||
|
||
>使用模块作用域保持不允许外部访问的函数的私有性。如果无法做到这一点,就始终为插件、混入等不考虑作为对外公共 API 的自定义私有 property 使用 $_ 前缀。 | ||
``` | ||
<ul> | ||
<li | ||
v-for="user in activeUsers" | ||
:key="user.id" | ||
> | ||
{{ user.name }} | ||
</li> | ||
</ul> | ||
<ul v-if="shouldShowUsers"> | ||
<li | ||
v-for="user in users" | ||
:key="user.id" | ||
> | ||
{{ user.name }} | ||
</li> | ||
</ul> | ||
``` | ||
>对于应用来说,顶级 App 组件和布局组件中的样式可以是全局的,但是其它所有组件都应该是有作用域的。对于组件库,我们应该更倾向于选用基于 class 的策略而不是 scoped attribute。 | ||
|
||
>使用模块作用域保持不允许外部访问的函数的私有性。如果无法做到这一点,就始终为插件、混入等不考虑作为对外公共 API 的自定义私有 property 使用 $_ 前缀。并附带一个命名空间以回避和其它作者的冲突 |