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

博罗企业网站建设电商怎么开始做

博罗企业网站建设,电商怎么开始做,宁波建网站哪家,wordpress 自动推送百度该文章是在学习 小满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/975088/

相关文章:

  • 免费网站建设知识时间计算器久久网
  • 陕西专业网站建设价格wordpress header广告
  • 网站信息备案管理系统一个服务器下怎么做两个网站吗
  • 有支付功能网站用的编程语言雄安移动网站建设
  • 论mvc框架在网站开发的应用wordpress怎么看展现量
  • php网站后台忘记密码郑州建网站公司
  • 优化型网站建设江苏网站建设方案
  • 在静安正规的设计公司网站网站建设 计划书
  • wordpress博客网站活动策划网
  • 做电商网站货源深圳品牌手表
  • 一个具体网站的seo优化方案平阳住房和城乡规划建设局网站
  • 中山网站建设张家界建设网站的公司
  • 免费做网站收录的WordPress tag 目录
  • 昆明专业网站制作公司钢结构人才网
  • 如何查看网站备案号传媒公司网站建设策划
  • 网站目录文件陈欧做聚美优品网站
  • 代做关键词收录排名企业网站搜索优化网络推广
  • 哪些网站做装修清洁公司网站建设
  • asp网站 手机登录大型网站制作都有哪些
  • 网页设计实验报告摘要百度站长工具seo综合查询
  • 便宜自适应网站建设钓鱼网站在线生成
  • 湖州公司网站建设哪些公司做外贸网站
  • 网站建设费用还是网络做梯子的企业网站
  • 网站后台如何登陆中国建筑app
  • 医院网站怎么制作wordpress制作模板教程
  • 仿站软件如何自主建设企业网站
  • 做一个人网站需要注意什么wordpress 查看访客
  • 包头市住房与城乡建设部网站网站开发有哪些语言
  • 怎么更新网站内容郑州网站建设工作室
  • 公司网站如何注册wordpress 添加过滤器