doc: update vue.md (#125)

* fix: 和[Attribute 绑定]的部分重叠了

* doc: 新增自定义指令

* doc: 新增[响应式样式]

* docs: [入门]部分改为vue3写法

* docs: 新增获取事件对象相关内容

* fix: 删除多余文件
This commit is contained in:
Alex 2022-11-18 12:31:21 +08:00 committed by GitHub
parent 9005f760d6
commit 7889b77174
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -64,11 +64,13 @@ $ npm run build
<!--rehype:wrap-class=row-span-2--> <!--rehype:wrap-class=row-span-2-->
```js ```js
import { createApp } from 'vue' import { createApp, ref } from 'vue'
const app = createApp({ const app = createApp({
data() { setup() {
return { count: 0 } const count = ref(0)
return { count }
} }
}) })
app.mount('#app') app.mount('#app')
@ -90,15 +92,18 @@ app.mount('#app')
<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script> <script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
<div id="app">{{ message }}</div> <div id="app">{{ message }}</div>
<script> <script>
const { createApp } = Vue const { createApp, ref } = Vue
createApp({ createApp({
data() { setup() {
const message = ref('Hello Vue!')
return { return {
message: 'Hello Vue!' message
} }
} }
}).mount('#app') }).mount('#app')
</script> </script>
``` ```
<!--rehype:className=wrap-text --> <!--rehype:className=wrap-text -->
@ -107,11 +112,13 @@ app.mount('#app')
```html ```html
<div id="app">{{ message }}</div> <div id="app">{{ message }}</div>
<script type="module"> <script type="module">
import { createApp } from 'https://unpkg.com/vue@3/dist/vue.esm-browser.js' import { createApp, ref } from 'https://unpkg.com/vue@3/dist/vue.esm-browser.js'
createApp({ createApp({
data() { setup() {
const message = ref('Hello Vue!')
return { return {
message: 'Hello Vue!' message
} }
} }
}).mount('#app') }).mount('#app')
@ -216,6 +223,38 @@ data() {
<a @click="doSomething"> ... </a> <a @click="doSomething"> ... </a>
``` ```
### 获取事件对象
```js
<script setup>
import { ref } from 'vue'
const onClick = function(e){
console.log(e)
}
</script>
<template>
<button @click="onClick">click</button>
</template>
```
### 传参的同时获取事件对象
```js
<script setup>
import { ref } from 'vue'
const onClick = function(msg, e){
console.log(msg, e)
}
</script>
<template>
<button @click="onClick('Hello Vue!', $event)">click</button>
</template>
```
### 动态参数 ### 动态参数
```html ```html
@ -430,6 +469,28 @@ export default defineComponent({
}); });
``` ```
### 响应式样式
```js
<script setup>
import { ref } from 'vue'
const open = ref(false);
</script>
<template>
<button @click="open = !open">Toggle</button>
<div>Hello Vue!</div>
</template>
<style scope>
div{
transition: height 0.1s linear;
overflow: hidden;
height: v-bind(open ? '30px' : '0px');
}
</style>
```
响应式进阶 —— wath和computed 响应式进阶 —— wath和computed
--- ---