fes.js/docs/zh/guide/advanced/markdown.md
2021-01-19 21:13:13 +08:00

103 lines
1.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Markdown 与 Vue SFC
每一个 Markdown 文件,首先都会编译为 HTML ,然后转换为一个 Vue 单文件组件 (SFC) 。换句话说,你可以把 Markdown 作为 Vue SFC 来看待:
- `<script>``<style>` 标签会直接被当作 Vue SFC 中的标签。换句话说,它们是从 `<template>` 标签中提升到了 SFC 的顶层。
- 所有 `<script>``<style>` 标签的以外的内容,会先被编译为 HTML ,然后被当作 Vue SFC 的 `<template>` 标签。
我们来看一个例子:
**输入**
```vue
_你好 {{ msg }}_
<RedDiv>
_当前计数为 {{ count }}_
</RedDiv>
<button @click="count++">点我</button>
<script>
import { h, ref } from 'vue'
const RedDiv = (_, ctx) => h(
'div',
{
class: 'red-div',
},
ctx.slots.default()
)
export default {
components: {
RedDiv,
},
setup() {
const msg = 'Markdown 中的 Vue'
const count = ref(0)
return {
msg,
count,
}
}
}
</script>
<style>
.red-div {
color: red;
}
</style>
```
**输出**
_你好 {{ msg }}_
<RedDiv>
_当前计数为 {{ count }}_
</RedDiv>
<button @click="count++">点我!</button>
<script>
import { h, ref } from 'vue'
const RedDiv = (_, ctx) => h(
'div',
{
class: 'red-div',
},
ctx.slots.default()
)
export default {
components: {
RedDiv,
},
setup() {
const msg = 'Markdown 中的 Vue'
const count = ref(0)
return {
msg,
count,
}
}
}
</script>
<style>
.red-div {
color: red;
}
</style>