丙午🐎年

acc8226 的博客

该页面假设你已经阅读过了组件基础。如果你还对组件不太了解,推荐你先阅读它。

在 2.6.0 中,我们为具名插槽和作用域插槽引入了一个新的统一的语法 (即 v-slot 指令)。它取代了 slotslot-scope 这两个目前已被废弃但未被移除且仍在文档中的 attribute。新语法的由来可查阅这份 RFC

插槽内容

Vue 实现了一套内容分发的 API,这套 API 的设计灵感源自 Web Components 规范草案,将 <slot> 元素作为承载分发内容的出口。

阅读全文 »

该页面假设你已经阅读过了组件基础。如果你还对组件不太了解,推荐你先阅读它。

事件名

不同于组件和 prop,事件名不存在任何自动化的大小写转换。而是触发的事件名需要完全匹配监听这个事件所用的名称。举个例子,如果触发一个 camelCase 名字的事件:

1
this.$emit('myEvent')
阅读全文 »

该页面假设你已经阅读过了组件基础。如果你还对组件不太了解,推荐你先阅读它。

Prop 的大小写 (camelCase vs kebab-case)

HTML 中的 attribute 名是大小写不敏感的,所以浏览器会把所有大写字符解释为小写字符。这意味着当你使用 DOM 中的模板时,camelCase (驼峰命名法) 的 prop 名需要使用其等价的 kebab-case (短横线分隔命名) 命名:

阅读全文 »

组件名

在注册一个组件的时候,我们始终需要给它一个名字。比如在全局注册的时候我们已经看到了:

1
Vue.component('my-component-name', { /* ... */ })

该组件名就是 Vue.component 的第一个参数。

阅读全文 »

基本示例

这里有一个 Vue 组件的示例:

1
2
3
4
5
6
7
8
9
// 定义一个名为 button-counter 的新组件
Vue.component('button-counter', {
data: function () {
return {
count: 0
}
},
template: '<button v-on:click="count++">You clicked me {{ count }} times.</button>'
})
阅读全文 »
0%