From df3e04ba92257533c9a776634b2a49b120e51816 Mon Sep 17 00:00:00 2001 From: jaywcjlove <398188662@qq.com> Date: Thu, 3 Nov 2022 01:08:45 +0800 Subject: [PATCH] doc: update vue.md (#10). --- README.md | 2 +- docs/vue.md | 374 +++++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 374 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index fdad5b5..a8d5949 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ Quick Reference [Bash](./docs/bash.md) [C](./docs/c.md) -[CMake](./docs/cmake.md) +[CMake](./docs/cmake.md) [Docker](./docs/docker.md) [Dockerfile](./docs/dockerfile.md) [Django](./docs/djiango.md) diff --git a/docs/vue.md b/docs/vue.md index 1263e97..469f35b 100644 --- a/docs/vue.md +++ b/docs/vue.md @@ -268,4 +268,376 @@ v-on:submit.prevent="onSubmit" ┆ ┆ ╰─ Modifiers 由前导点表示 ┆ ╰─ Argument 跟随冒号或速记符号 ╰─ Name 以 v- 开头使用速记时可以省略 -``` \ No newline at end of file +``` + +响应式基础 +--- + +### 声明状态 + +```html +
{{ count }}
+``` + +--- + +```js {2,4} +export default { + data() { + return { + count: 0 + } + }, +} +``` + +### 声明方法 + +```html + +``` + +--- + +```js {8-10} +export default { + data() { + return { + count: 0 + } + }, + methods: { + increment() { + this.count++ + } + } +} +``` + +### 有状态方法 + +```js +import { debounce } from 'lodash-es' +export default { + created() { + // 每个实例都有了自己的预置防抖的处理函数 + this.debouncedClick = debounce(this.click, 500) + }, + unmounted() { + // 最好是在组件卸载时 + // 清除掉防抖计时器 + this.debouncedClick.cancel() + }, + methods: { + click() { + // ... 对点击的响应 ... + } + } +} +``` + + +API 参考 +--- + +### 应用实例 - (全局 API) + + +:- | :- +:- | :- +`createApp()` | [#](https://cn.vuejs.org//api/application.html#create-app) +`createSSRApp()` | [#](https://cn.vuejs.org//api/application.html#create-ssr-app) +`app.mount()` | [#](https://cn.vuejs.org//api/application.html#app-mount) +`app.unmount()` | [#](https://cn.vuejs.org//api/application.html#app-unmount) +`app.provide()` | [#](https://cn.vuejs.org//api/application.html#app-provide) +`app.component()` | [#](https://cn.vuejs.org//api/application.html#app-component) +`app.directive()` | [#](https://cn.vuejs.org//api/application.html#app-directive) +`app.use()` | [#](https://cn.vuejs.org//api/application.html#app-use) +`app.mixin()` | [#](https://cn.vuejs.org//api/application.html#app-mixin) +`app.version` | [#](https://cn.vuejs.org//api/application.html#app-version) +`app.config` | [#](https://cn.vuejs.org//api/application.html#app-config) +`app.config.errorHandler` | [#](https://cn.vuejs.org//api/application.html#app-config-errorhandler) +`app.config.warnHandler` | [#](https://cn.vuejs.org//api/application.html#app-config-warnhandler) +`app.config.performance` | [#](https://cn.vuejs.org//api/application.html#app-config-performance) +`app.config.compilerOptions` | [#](https://cn.vuejs.org//api/application.html#app-config-compileroptions) +`app.config.globalProperties` | [#](https://cn.vuejs.org//api/application.html#app-config-globalproperties) +`app.config.optionMergeStrategies` | [#](https://cn.vuejs.org//api/application.html#app-config-optionmergestrategies) + +### 通用 - (全局 API) + +:- | :- +:- | :- +`version` | [#](https://cn.vuejs.org//api/general.html#version) +`nextTick()` | [#](https://cn.vuejs.org//api/general.html#nexttick) +`defineComponent()` | [#](https://cn.vuejs.org//api/general.html#definecomponent) +`defineAsyncComponent()` | [#](https://cn.vuejs.org//api/general.html#defineasynccomponent) +`defineCustomElement()` | [#](https://cn.vuejs.org//api/general.html#definecustomelement) + +### setup() - (组合式 API) + +:- | :- +:- | :- +`基本使用` | [#](https://cn.vuejs.org//api/composition-api-setup.html#basic-usage) +`访问 Props` | [#](https://cn.vuejs.org//api/composition-api-setup.html#accessing-props) +`Setup 上下文` | [#](https://cn.vuejs.org//api/composition-api-setup.html#setup-context) +`与渲染函数一起使用` | [#](https://cn.vuejs.org//api/composition-api-setup.html#usage-with-render-functions) + +### 响应式: 工具 - (组合式 API) + +:- | :- +:- | :- +`isRef()` | [#](https://cn.vuejs.org//api/reactivity-utilities.html#isref) +`unref()` | [#](https://cn.vuejs.org//api/reactivity-utilities.html#unref) +`toRef()` | [#](https://cn.vuejs.org//api/reactivity-utilities.html#toref) +`toRefs()` | [#](https://cn.vuejs.org//api/reactivity-utilities.html#torefs) +`isProxy()` | [#](https://cn.vuejs.org//api/reactivity-utilities.html#isproxy) +`isReactive()` | [#](https://cn.vuejs.org//api/reactivity-utilities.html#isreactive) +`isReadonly()` | [#](https://cn.vuejs.org//api/reactivity-utilities.html#isreadonly) + +### 生命周期钩子 - (组合式 API) + + +:- | :- +:- | :- +`onMounted()` | [#](https://cn.vuejs.org//api/composition-api-lifecycle.html#onmounted) +`onUpdated()` | [#](https://cn.vuejs.org//api/composition-api-lifecycle.html#onupdated) +`onUnmounted()` | [#](https://cn.vuejs.org//api/composition-api-lifecycle.html#onunmounted) +`onBeforeMount()` | [#](https://cn.vuejs.org//api/composition-api-lifecycle.html#onbeforemount) +`onBeforeUpdate()` | [#](https://cn.vuejs.org//api/composition-api-lifecycle.html#onbeforeupdate) +`onBeforeUnmount()` | [#](https://cn.vuejs.org//api/composition-api-lifecycle.html#onbeforeunmount) +`onErrorCaptured()` | [#](https://cn.vuejs.org//api/composition-api-lifecycle.html#onerrorcaptured) +`onRenderTracked()` | [#](https://cn.vuejs.org//api/composition-api-lifecycle.html#onrendertracked) +`onRenderTriggered()` | [#](https://cn.vuejs.org//api/composition-api-lifecycle.html#onrendertriggered) +`onActivated()` | [#](https://cn.vuejs.org//api/composition-api-lifecycle.html#onactivated) +`onDeactivated()` | [#](https://cn.vuejs.org//api/composition-api-lifecycle.html#ondeactivated) +`onServerPrefetch()` | [#](https://cn.vuejs.org//api/composition-api-lifecycle.html#onserverprefetch) + +### 依赖注入 - (组合式 API) + +:- | :- +:- | :- +`provide()` | [#](https://cn.vuejs.org//api/composition-api-dependency-injection.html#provide) +`inject()` | [#](https://cn.vuejs.org//api/composition-api-dependency-injection.html#inject) + +### 响应式: 核心 - (组合式 API) + +:- | :- +:- | :- +`ref()` | [#](https://cn.vuejs.org//api/reactivity-core.html#ref) +`computed ()` | [#](https://cn.vuejs.org//api/reactivity-core.html#computed) +`reactive()` | [#](https://cn.vuejs.org//api/reactivity-core.html#reactive) +`readonly()` | [#](https://cn.vuejs.org//api/reactivity-core.html#readonly) +`watchEffect()` | [#](https://cn.vuejs.org//api/reactivity-core.html#watcheffect) +`watchPostEffect()` | [#](https://cn.vuejs.org//api/reactivity-core.html#watchposteffect) +`watchSyncEffect()` | [#](https://cn.vuejs.org//api/reactivity-core.html#watchsynceffect) +`watch()` | [#](https://cn.vuejs.org//api/reactivity-core.html#watch) + +### 状态选项 - (选项式 API) + +:- | :- +:- | :- +`data` | [#](https://cn.vuejs.org//api/options-state.html#data) +`props` | [#](https://cn.vuejs.org//api/options-state.html#props) +`computed` | [#](https://cn.vuejs.org//api/options-state.html#computed) +`methods` | [#](https://cn.vuejs.org//api/options-state.html#methods) +`watch` | [#](https://cn.vuejs.org//api/options-state.html#watch) +`emits` | [#](https://cn.vuejs.org//api/options-state.html#emits) +`expose` | [#](https://cn.vuejs.org//api/options-state.html#expose) + +### 生命周期选项 - (选项式 API) + + +:- | :- +:- | :- +`beforeCreate` | [#](https://cn.vuejs.org//api/options-lifecycle.html#beforecreate) +`created` | [#](https://cn.vuejs.org//api/options-lifecycle.html#created) +`beforeMount` | [#](https://cn.vuejs.org//api/options-lifecycle.html#beforemount) +`mounted` | [#](https://cn.vuejs.org//api/options-lifecycle.html#mounted) +`beforeUpdate` | [#](https://cn.vuejs.org//api/options-lifecycle.html#beforeupdate) +`updated` | [#](https://cn.vuejs.org//api/options-lifecycle.html#updated) +`beforeUnmount` | [#](https://cn.vuejs.org//api/options-lifecycle.html#beforeunmount) +`unmounted` | [#](https://cn.vuejs.org//api/options-lifecycle.html#unmounted) +`errorCaptured` | [#](https://cn.vuejs.org//api/options-lifecycle.html#errorcaptured) +`renderTracked` | [#](https://cn.vuejs.org//api/options-lifecycle.html#rendertracked) +`renderTriggered` | [#](https://cn.vuejs.org//api/options-lifecycle.html#rendertriggered-sup-classvt-badge-dev-only) +`activated` | [#](https://cn.vuejs.org//api/options-lifecycle.html#activated) +`deactivated` | [#](https://cn.vuejs.org//api/options-lifecycle.html#deactivated) +`serverPrefetch` | [#](https://cn.vuejs.org//api/options-lifecycle.html#serverprefetch) + +### 其他杂项 - (选项式 API) + +:- | :- +:- | :- +`name` | [#](https://cn.vuejs.org//api/options-misc.html#name) +`inheritAttrs` | [#](https://cn.vuejs.org//api/options-misc.html#inheritattrs) +`components` | [#](https://cn.vuejs.org//api/options-misc.html#components) +`directives` | [#](https://cn.vuejs.org//api/options-misc.html#directives) + +### 渲染选项 - (选项式 API) + +:- | :- +:- | :- +`template` | [#](https://cn.vuejs.org//api/options-rendering.html#template) +`render` | [#](https://cn.vuejs.org//api/options-rendering.html#render) +`compilerOptions` | [#](https://cn.vuejs.org//api/options-rendering.html#compileroptions) + +### 组件实例 - (选项式 API) + + +:- | :- +:- | :- +`$data` | [#](https://cn.vuejs.org//api/component-instance.html#data) +`$props` | [#](https://cn.vuejs.org//api/component-instance.html#props) +`$el` | [#](https://cn.vuejs.org//api/component-instance.html#el) +`$options` | [#](https://cn.vuejs.org//api/component-instance.html#options) +`$parent` | [#](https://cn.vuejs.org//api/component-instance.html#parent) +`$root` | [#](https://cn.vuejs.org//api/component-instance.html#root) +`$slots` | [#](https://cn.vuejs.org//api/component-instance.html#slots) +`$refs` | [#](https://cn.vuejs.org//api/component-instance.html#refs) +`$attrs` | [#](https://cn.vuejs.org//api/component-instance.html#attrs) +`$watch()` | [#](https://cn.vuejs.org//api/component-instance.html#watch) +`$emit()` | [#](https://cn.vuejs.org//api/component-instance.html#emit) +`$forceUpdate()` | [#](https://cn.vuejs.org//api/component-instance.html#forceupdate) +`$nextTick()` | [#](https://cn.vuejs.org//api/component-instance.html#nexttick) + +### 组合选项 - (选项式 API) + +:- | :- +:- | :- +`provide` | [#](https://cn.vuejs.org//api/options-composition.html#provide) +`inject` | [#](https://cn.vuejs.org//api/options-composition.html#inject) +`mixins` | [#](https://cn.vuejs.org//api/options-composition.html#mixins) +`extends` | [#](https://cn.vuejs.org//api/options-composition.html#extends) + +### 指令 - (内置内容) + + +:- | :- +:- | :- +`v-text` | [#](https://cn.vuejs.org//api/built-in-directives.html#v-text) +`v-html` | [#](https://cn.vuejs.org//api/built-in-directives.html#v-html) +`v-show` | [#](https://cn.vuejs.org//api/built-in-directives.html#v-show) +`v-if` | [#](https://cn.vuejs.org//api/built-in-directives.html#v-if) +`v-else` | [#](https://cn.vuejs.org//api/built-in-directives.html#v-else) +`v-else-if` | [#](https://cn.vuejs.org//api/built-in-directives.html#v-else-if) +`v-for` | [#](https://cn.vuejs.org//api/built-in-directives.html#v-for) +`v-on` | [#](https://cn.vuejs.org//api/built-in-directives.html#v-on) +`v-bind` | [#](https://cn.vuejs.org//api/built-in-directives.html#v-bind) +`v-model` | [#](https://cn.vuejs.org//api/built-in-directives.html#v-model) +`v-slot` | [#](https://cn.vuejs.org//api/built-in-directives.html#v-slot) +`v-pre` | [#](https://cn.vuejs.org//api/built-in-directives.html#v-pre) +`v-once` | [#](https://cn.vuejs.org//api/built-in-directives.html#v-once) +`v-memo` | [#](https://cn.vuejs.org//api/built-in-directives.html#v-memo) +`v-cloak` | [#](https://cn.vuejs.org//api/built-in-directives.html#v-cloak) + +### 组件 - (内置内容) + +:- | :- +:- | :- +`` | [#](https://cn.vuejs.org//api/built-in-components.html#transition) +`` | [#](https://cn.vuejs.org//api/built-in-components.html#transitiongroup) +`` | [#](https://cn.vuejs.org//api/built-in-components.html#keepalive) +`` | [#](https://cn.vuejs.org//api/built-in-components.html#teleport) +`` | [#](https://cn.vuejs.org//api/built-in-components.html#suspense) + +### 特殊 Attributes - (内置内容) + +:- | :- +:- | :- +`key` | [#](https://cn.vuejs.org//api/built-in-special-attributes.html#key) +`ref` | [#](https://cn.vuejs.org//api/built-in-special-attributes.html#ref) +`is` | [#](https://cn.vuejs.org//api/built-in-special-attributes.html#is) + +### 特殊元素 - (内置内容) + +:- | :- +:- | :- +`` | [#](https://cn.vuejs.org//api/built-in-special-elements.html#component) +`` | [#](https://cn.vuejs.org//api/built-in-special-elements.html#slot) + +### 语法定义 - (单文件组件) + + +:- | :- +:- | :- +`总览` | [#](https://cn.vuejs.org//api/sfc-spec.html#overview) +`相应语言块` | [#](https://cn.vuejs.org//api/sfc-spec.html#language-blocks) +`自动名称推导` | [#](https://cn.vuejs.org//api/sfc-spec.html#automatic-name-inference) +`预处理器` | [#](https://cn.vuejs.org//api/sfc-spec.html#pre-processors) +`Src 导入` | [#](https://cn.vuejs.org//api/sfc-spec.html#src-imports) +`注释` | [#](https://cn.vuejs.org//api/sfc-spec.html#comments) + +### \