当前位置: 首页 > news >正文

网站怎么没有排名怎么样网站开源

网站怎么没有排名,怎么样网站开源,wordpress cdn 回源量,永久免费的移动建站平台该文章是在学习 小满vue3 课程的随堂记录示例均采用 <script setup>&#xff0c;且包含 typescript 的基础用法 一、使用场景 递归组件 的使用场景&#xff0c;如 无限级的菜单 &#xff0c;接下来就用菜单的例子来学习 二、具体使用 先把菜单的基础内容写出来再说 父…
  • 该文章是在学习 小满vue3 课程的随堂记录
  • 示例均采用 <script setup>,且包含 typescript 的基础用法

一、使用场景

递归组件 的使用场景,如 无限级的菜单 ,接下来就用菜单的例子来学习

二、具体使用

先把菜单的基础内容写出来再说

父组件

<Tree :data="mock" />
// 引入子组件
import Tree from "../components/17_组件/Tree.vue";// 菜单的数据格式
interface ITree {name: string;checked: boolean;children?: ITree[];
}
// 数据 mock
const mock: ITree[] = [{name: "1",checked: false,children: [{name: "1-1",checked: true,},],},{name: "2",checked: false,},{name: "3",checked: false,children: [{name: "3-1",checked: false,children: [{name: "3-1-1",checked: true,},],},],},
];

子组件

<!-- 第一层数据 -->
<div v-for="item in data" style="margin-left: 16px"><input type="checkbox" v-model="item.checked" />{{ item.name }}
</div>
<script setup lang="ts">
// 这里为了方便直接拷贝过来了,实际项目中要抽离出来复用
interface ITree {name: string;checked: boolean;children?: ITree[];
}
// props 定义
defineProps<{data?: ITree[];
}>();
</script>

如图,上述代码已经完成了 第一层 菜单数据的渲染:

在这里插入图片描述

深层 的菜单数据,就要用到 递归组件 了,递归组件有以下 三种 使用方式

1、直接使用 自己的文件名 作为 组件名称,不需要引入

当前的文件名称是 Tree.vue,所以直接使用 Tree 即可

子组件

<!-- 第一层数据 -->
<div v-for="item in data" style="margin-left: 16px"><input type="checkbox" v-model="item.checked" />{{ item.name }}<!-- 需要注意:需要按照格式传入子组件要用的数据,并且加上递归的判断条件 --><Tree v-if="item?.children?.length" :data="item.children"></Tree>
</div>

使用结果如下:

在这里插入图片描述

2、子组件中再定义一个 script,并暴露出 name

子组件

<script lang="ts">
// 再起一个 script(lang必须保持一致),用来定义该组件的 name
export default {name: "TreeVue",
};
</script>

使用时,就可以用自定义的组件名

<!-- 第一层数据 -->
<div v-for="item in data" style="margin-left: 16px"><input type="checkbox" v-model="item.checked" />{{ item.name }}<!-- 深层数据 --><TreeVue v-if="item?.children?.length" :data="item.children"></TreeVue>
</div>

渲染结果一致:

在这里插入图片描述

3、使用 defineOptions 自定义组件名

  • Vue3.3 增加了 defineOptions 方法,用来定义 optionsAPI 中的选项,比如组件名称 name(老一点的 vue 版本要装插件才能使用 defineOptions)
  • 与上面第二种思路一致,就是起个名再用

子组件

<script setup lang="ts">
interface ITree {name: string;checked: boolean;children?: ITree[];
}
defineProps<{data?: ITree[];
}>();// 直接在原有的 script 中进行自定义
defineOptions({name: "Self",
});
</script>
<!-- 第一层数据 -->
<div v-for="item in data" style="margin-left: 16px"><input type="checkbox" v-model="item.checked" />{{ item.name }}<!-- 深层数据 --><Self v-if="item?.children?.length" :data="item.children"></Self>
</div>

渲染结果仍然一致,不再赘述

http://www.yayakq.cn/news/913389/

相关文章:

  • 自己做简历网站阿里云域名注册优惠口令
  • 微信外链网站最强的管理咨询公司
  • 古网站典模板网络营销案例介绍
  • 徐州网站开发市场wordpress导航栏编辑
  • 搜狗网站收录注册会计师报名条件
  • 网站建设服务代理凡科免费建站怎么样
  • 国家建设工程质量检查标准网站21天学会网站开发
  • 文章网站哪里建设好网架报价明细表
  • 手机网页制作软件中文版seo网站建设课程
  • 网站如何更新维护中石化胜利建设工程有限公司网站
  • 提供手机网站建设推荐服务型网站建设
  • 廊坊网站建设的公司sem竞价是什么意思
  • 网站是软件吗点个赞科技 网站制作
  • 英语网站online网站套站什么意思
  • 网站规划建设与管理维护大学论文apache和wordpress
  • 网站优化与SEO区别成都网站成都网站制作公司
  • 免费建站软件哪个最好织梦网站wap
  • 网站怎么注册啊烟台微信公众号开发
  • 自己做网站如何赚钱吗建设银行指定网站
  • 免费app制作网站网站的建设与管理
  • 照片制作网站广告公司网站主页设计
  • 做网站代理商好赚吗?彩票网站建设古大学
  • 网站的策划书哈尔滨在线制作网站
  • 新手如何做网站推广天水网站建设公司排名
  • 怎么找网站模板企业it外包
  • 哈尔滨住房建设发展集团网站公共资源交易中心有实权吗
  • 个人怎么注册网站流程房地产知识问答100题
  • 做soho一定要做网站吗自学网站建设工资
  • 国际贸易网站大全广告设计制作公司名字
  • 信阳专业网站建设网页设计网站链接怎么做