diff --git a/vite-demo/README.md b/vite-demo/README.md index 7492b945ef1f35e33a1ec649ec0736013422b79e..9ceb2853a57577cceb36fcc3fc519b92aabfe44e 100644 --- a/vite-demo/README.md +++ b/vite-demo/README.md @@ -11,4 +11,6 @@ This template should help get you started developing with Vue 3 in Vite. The tem -``` \ No newline at end of file +``` + +[vue3自定义指令](https://mp.weixin.qq.com/s/PZSbtcy8FEIITVqA9OYR2Q) \ No newline at end of file diff --git a/vite-demo/src/router/backRouter.js b/vite-demo/src/router/backRouter.js index db068fa7de681d1b289f81d3fb238ea04d83fda7..ae3c100315651d7bef7a65bce1a237769b3e16d3 100644 --- a/vite-demo/src/router/backRouter.js +++ b/vite-demo/src/router/backRouter.js @@ -42,7 +42,7 @@ export default [ }, component: '/views/form/index.vue', redirect: '/form/antdVue/antdForm', - children:[ + children: [ { path: 'antdForm', name: 'antdForm', @@ -129,5 +129,35 @@ export default [ component: '/views/tool/mdEditor.vue', }, ] + }, + { + path: '/skills', + name: 'skills', + meta: { + title: '知识点', + }, + component: 'Layout', + + children: [ + { + path: 'vue3', + name: 'vue3', + title: 'vue3', + meta: { + title: 'vue3', + }, + component: '/views/form/index.vue', + children: [ + { + path: 'fnApi', + name: 'fnApi', + meta: { + title: 'vue3开发技巧', + }, + component: '/views/skills/vue3/fnApi.vue', + }, + ] + }, + ] } ] diff --git a/vite-demo/src/views/skills/components/btn1.vue b/vite-demo/src/views/skills/components/btn1.vue new file mode 100644 index 0000000000000000000000000000000000000000..84209234e6694356b2ea372998c8c3bb7de7a0a7 --- /dev/null +++ b/vite-demo/src/views/skills/components/btn1.vue @@ -0,0 +1,18 @@ + + \ No newline at end of file diff --git a/vite-demo/src/views/skills/components/btn2.vue b/vite-demo/src/views/skills/components/btn2.vue new file mode 100644 index 0000000000000000000000000000000000000000..b1e1610e2db892cf6d4b580630f72a0b3cb07e75 --- /dev/null +++ b/vite-demo/src/views/skills/components/btn2.vue @@ -0,0 +1,16 @@ + + \ No newline at end of file diff --git a/vite-demo/src/views/skills/components/message.vue b/vite-demo/src/views/skills/components/message.vue new file mode 100644 index 0000000000000000000000000000000000000000..a2011a02da8f261ae0d81f4a7477dd55f9751e59 --- /dev/null +++ b/vite-demo/src/views/skills/components/message.vue @@ -0,0 +1,24 @@ + + + + + \ No newline at end of file diff --git a/vite-demo/src/views/skills/components/renderFn.js b/vite-demo/src/views/skills/components/renderFn.js new file mode 100644 index 0000000000000000000000000000000000000000..1d39c6cf9163c03a567a848c5ac93805684e89c0 --- /dev/null +++ b/vite-demo/src/views/skills/components/renderFn.js @@ -0,0 +1,15 @@ +import btn1 from './btn1.vue' +import btn2 from './btn2.vue' +import {h} from 'vue' + +export const renderFn = function (props, {slots}) { + console.log('renderFn', props); + console.log('renderFn', slots); + // 加载组件 + // return props.type == 1 ? h(btn1) : h(btn2) + // 加载默认插槽 - 具名插槽 + return props.type == 1 ? h(btn1, [slots.default(), slots.name({ + text: props.type + })]) : h(btn2) +} + diff --git a/vite-demo/src/views/skills/vue3/fnApi.vue b/vite-demo/src/views/skills/vue3/fnApi.vue new file mode 100644 index 0000000000000000000000000000000000000000..0302c15a5e7e1fd72d9b79993f9c8588bba38da6 --- /dev/null +++ b/vite-demo/src/views/skills/vue3/fnApi.vue @@ -0,0 +1,29 @@ + + + + + \ No newline at end of file