IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> 组件化使用中的一些问题 -> 正文阅读

[JavaScript知识库]组件化使用中的一些问题

由于之前重装系统导致VScode崩掉,使项目的进度暂时停滞了一段时间,今天我们装好了VScode,终于又可以开始干活了!那么今天我们先试着把一些部分用组件化的写法代替原始写法,并试着获取到推荐歌单。

抽离模版写法的注意事项
给template加id!

这点我最开始没注意到,只给里面的div加了id,结果瞬间崩掉…

这里还要注意一个问题,就是模版的注册一定要写在vue实例的上边,不然会报错,另外注意挂载点的闭合范围,有时如果在编写的途中不小心删掉了后面的div,系统会自动在Script标签的后面给你默认加上一个div,导致报错。

还有个解决了但没搞清楚原理的问题,就是在vue挂载点下使用li标签会报错要求验证这个组件的正确性,但换成ol标签,ul标签就不会报错。

渲染组件的注意事项
加上了axios后我们利用借口拿到数据后,组件报错了,这其实是正常现象,因为我们还没有设置组件间的通信传值,为了在此时便于调试,我们现将组件部分注释掉,只留下一个

当我们拿到歌单数据后,发现这个数据是一个数组对象的形式,这时候我们只要添加索引再用点语法就可以拿到我们需要的数字,如果需要重复取用可以考虑使用for循环或foreach遍历取出。

渲染封面时注意,src里面写我们data里注册的对应名称,右侧要加上:,不然获取不到,这是因为在vue中,加冒号就会把后面的东西当成变量来处理,没有加的话就默认是一个路径或者字符串。

template标签一定要写在挂在点以外!!!!!!!,不然标签不会生效,模版会在挂载点内显现,而且会直接继承父组建的data属性!!!

另外,我们使用网易云的接口,会传给我们数量庞大的各种数据,我们需要找出我们需要的部分,为此,我们可以使用for循环拿出这个数组对象的一部分,行成一个小数组对象,这时,我们就可以在模版上使用v-for来遍历这个数组,到我们需要的信息。

<template id="songsheet0"> <span> <div id="songsheet" v-for="item in sheetarr0"> <img id="sheetimg" :src="item.coverImgUrl" alt=""> <div>{{item.name}}</div> </div> </span> </template>
注意这里我们绑定循环的其实是组件的props数据,因为子组件不能直接调用父组件的数据,所以我们要先将父组件的值绑定给子组件

<sheet :sheetarr0="sheetarr"></sheet>

const sheet = { template: '#songsheet0', props: ['sheetname', 'sheetimg', 'sheetarr0'], data() { return {} }, methods: {} }
当我们写完后发现有一个小问题,就是第一个组件会下沉一点
在这里插入图片描述

最开始我以为是上面某个板块挤压造成的,于是用二分法注释,但没有找到问题,后来我发现只有第一个是一行文字,其他的都是两行,而且只有第一行下沉,于是联想到了inline-block的原因。HTML中,空格符,换行符都会被解析为空白符并占据空间,而第一个由于文本只有一行,少了一个换行符,也就相当于高度与其他三个不同,所以使用inline-block进行排列时会乱掉。

解决方法也很简单,只要设置垂直排列,并让他们顶部对齐就能解决这个问题。

vertical-align: top;

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-07-13 17:22:27  更:2021-07-13 17:24:49 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/5 3:58:48-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码