js文件中export default和export

在一个js文件中,export default和export都可以用来导出内容,但它们之间有一些区别:
export default只能有一个默认导出,而export可以有多个命名导出。默认导出可以在导入时指定任意名称,而命名导出需要使用相同的名称。

例如,以下是使用export default导出默认函数的示例:

1
2
3
4
5
// utils.js
function add(a, b) {
return a + b;
}
export default add;

在另一个文件中导入默认函数的方式:

1
2
3
4
// app.js
import myAdd from './utils.js';

console.log(myAdd(2, 3)); // 输出: 5

当使用export default时,在导入时可以使用import语句的一个额外的语法糖。例如,可以省略导入的内容的花括号。
例如,以下是使用export default导出默认函数,并在导入时省略花括号的示例:

1
2
3
4
5
// utils.js
function add(a, b) {
return a + b;
}
export default add;

在另一个文件中导入默认函数的方式:
1
2
3
4
// app.js
import myAdd from './utils.js';

console.log(myAdd(2, 3)); // 输出: 5

插槽Slots

为子组件传递一些模板片段,让子组件在它们的组件中渲染这些片段。

举例来说,这里有一个 组件,可以像这样使用:

1
2
3
<FancyButton>
Click me! <!-- 插槽内容 -->
</FancyButton>

的模板是这样的:
1
2
3
<button class="fancy-btn">
<slot></slot> <!-- 插槽出口 -->
</button>

元素是一个插槽出口 (slot outlet),标示了父元素提供的插槽内容 (slot content) 将在哪里被渲染。
alt text

最终渲染出的 DOM 是这样:

1
<button class="fancy-btn">Click me!</button>

插槽