## 在单一vue组件内实现模板复用(非jsx版本) 关联文章,[使用jsx](/#/demo/jsx) ### 注意事项 * `定义的模版必须放置在使用之前,遵循代码执行顺序` * `复杂版本将render渲染的slot存为了一个数组,使用的时候必须传入数组类型的slotName,这样在使用useTemplate函数时才知道该渲染哪个模版` * `简单版本可以直接v-slot,默认使用defalut` ### 简单版本源代码 ```vue ``` ```javascript export function creatTemplateReuse() { let render; const DefineTemplate = { setup(_, { slots }) { console.log(slots); render = slots.default; return () => {}; }, }; const useTemplate = (props) => { return render(props); }; return [DefineTemplate, useTemplate]; } ``` ## 下面是复杂模版的效果,代码请查看vue文件