热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

零基础vue.js学习笔记进阶篇

笔记整理来源B站up主黑马程序员B站黑马程序员快速入门vue前端适合初学者入门vue.js,该文是进阶篇基础篇包括课程中的Vue基础和本地应用环节该文是进阶篇&#x

笔记整理来源 B站up主黑马程序员
B站黑马程序员 快速入门vue前端

适合初学者入门vue.js,
该文是进阶篇
基础篇包括课程中的Vue基础和本地应用环节
该文是进阶篇,包括网络应用和综合应用
基础篇链接


文章目录

  • Vue.js
    • 网络应用
      • 介绍
      • axios基本使用
        • axios导入
        • get请求
          • 随机笑话接口
          • 实战演示
          • 功能
        • post请求
          • 用户注册接口
          • 实战演示
          • 功能
        • 总结
      • axios+vue
          • 一条随机笑话接口
      • 天知道-介绍
      • 天知道--回车查询
          • 天气接口
      • 天知道--点击查询
      • 综合应用-悦听-介绍
      • 天知道-音乐查询
          • 歌曲搜索接口
      • 音乐播放
          • 歌曲url获取地址
      • 歌曲封面
          • 歌曲详情获取
      • 歌曲评论
          • 热门评论获取
      • 播放动画
      • 播放MV
          • mv地址获取


Vue.js


网络应用


介绍

Vue结合网络数据开发应用

axios :网络请求库

axios+vue 结合vue一起

通过天气预报巩固


axios基本使用


axios导入



get请求

axios.get(地址?key=value&key2=value2).then(function(response){},function(err){})
response函数会在请求成功后调用 err会在请求失败后调用

随机笑话接口

接口1随机笑话
请求地址http://autumnfish.cn/api/joke/list
请求方法get
请求参数num(笑话个数)
相应内容随机笑话

实战演示







功能

正常执行,在控制台输出五条笑话

如果用注释的语句会执行err语句,在控制台输出错误代码。


post请求

axios.post(地址,{key:value,key2:value2}).then(function(response){},function(err){})
response函数会在请求成功后调用 err会在请求失败后调用

用户注册接口

接口2用户注册
请求地址http://autumnfish.cn/api/user/reg
请求方法post
请求参数username(用户名) --字符串类型
响应内容注册成功或失败

实战演示







功能

正常执行,在控制台输出***用户注册成功

如果用注释的语句会执行err语句,在控制台输出错误代码。


总结

先导入再使用

使用get或post方法可发送对应的请求

then方法中的回调函数会在请求成功或失败时候触发

通过回调函数的形参可以获取响应内容,或错误信息

官网:https://github.com/axios/axios


axios+vue

axios如何结合vue开发网络应用


一条随机笑话接口

接口1随机笑话
请求地址http://autumnfish.cn/api/joke
请求方法get
请求参数
相应内容一条随机笑话

{{joke}}



总结

*axios回调函数中的this已经改变,无法访问到data中的数据

*把this保存起来,用that。回调函数中直接使用保存的this即可

在这里插入图片描述


天知道-介绍

在这里插入图片描述


天知道–回车查询

1.按下回车(v-on.enter)

2.查询数据(axios 接口 v-model)

3.渲染数据(v-for 数组 that)


天气接口

接口1随机笑话
请求地址http://wthrcdn.etouch.cn/weather_mini
请求方法get
请求参数city(查询城市名)
相应内容天气信息

主体html框架代码
在这里插入图片描述

主页面部分重要代码

  • {{item.type}}{{item.low}}{{item.high}} {{item.data}

创建js文件main.js 并在主页面中导入


天知道–点击查询

1.点击城市(v-on 自定义参数)

2.查询数据(this方法)

3.渲染数据

新增方法

changeCity:function(city){this.city=city;this.searchWeather();
}

与超链接进行绑定

北京

总结

*自定义参数可以让代码的复用性更高

*methods定义的方法内部,,可以通过this调用


综合应用-悦听-介绍

在这里插入图片描述在这里插入图片描述


天知道-音乐查询

所需步骤

1.按下回车(v-on .ent)

2.查询数据(axios 接口 v-model)

3.渲染数据(v-for 数组 thar)


歌曲搜索接口

接口1歌曲搜索
请求地址http://autumnfish.cn/search
请求方法get
请求参数keywords(查询的关键字)
相应内容歌曲搜索结果

页面整体布局
在这里插入图片描述在这里插入图片描述

创建js文件 在主页面中引入


主页面的







  • {{item.name}}


总结

*服务器返回的数据比较复杂时,获取的时候需要注意层级结构

*通过审查元素快速定位到需要操纵的元素


音乐播放

在这里插入图片描述

1.点击播放(v-on 自定义参数)

2.歌曲地址获取(接口 歌曲id)

3.歌曲地址设置(v-bind)


歌曲url获取地址

接口1歌曲获取URL
请求地址http://autumnfish.cn/song/url
请求方法get
请求参数id(歌曲id)
相应内容歌曲的url地址

新增属性

musicUrl:""

新增方法

playMusic:function(musicid){var that=this;axios.get("http://autumnfish.cn/song/url?id="+this.query).then(function(response){that.musicUrl=response.data.result.songs;},function(err){ })
}

主页面中





  • 总结

    *歌曲id依赖歌曲搜索的结果,对于不用的数据也需要关注


    歌曲封面

    在这里插入图片描述

    1.点击播放(增加逻辑)

    2.歌曲封面获取(接口 歌曲id)

    3.歌曲封面设置(v-bind)


    歌曲详情获取

    接口1歌曲详情获取
    请求地址http://autumnfish.cn/song/detail
    请求方法get
    请求参数ids(歌曲id)
    相应内容歌曲的详细信息 包括封面信息

    上半区playmusic中

    playMusic:function(musicid){var that=this;axios.get("http://autumnfish.cn/song/url?id="+this.query).then(function(response){that.musicUrl=response.data.result.songs;},function(err){ })
    }

    新增加属性

    musicCover:""

    playmusic中新增加逻辑

    axios.get("http://autumnfish.cn/song/detail?ids="+musicId)
    .then(function(response){
    that.musicCover=response.data.song[0].al.picUrl;
    },function(err){ })

    主页面中


    总结

    *在vue中通过v-bind操纵属性

    *本地无法获取的数据,基本都会有对应的接口


    歌曲评论

    在这里插入图片描述

    1.点击播放(增加逻辑)

    2.歌曲评论获取(接口 歌曲id)

    3.歌曲评论渲染(v-for)


    热门评论获取

    接口1热门评论获取
    请求地址http://autumnfish.cn/comment/hot?type=0
    请求方法get
    请求参数id(歌曲id,type固定=0)
    相应内容歌曲的热门评论

    新加属性

    hotComments:[]

    playMusic中新增加逻辑

    axios.get("http://autumnfish.cn/comment/hot?type=0&id="+musicId)
    .then(function(response){
    that.hotComments=response.data.hotComments;
    },
    funcstion(err){ })

    主页面中




    {{item.nickname}}

    {{item.content}}


    总结

    *在vue中通过v-for生成列表


    播放动画

    在这里插入图片描述

    1.监听音乐播放(v-on play)

    2.监听音乐暂停(v-on pause)

    3.操纵类名(v-bind 对象)

    新增属性

    isPlaying:false

    新增方法

    paly:function(){this.isPlaying=true;
    }
    pause:function(){this.isPlaying=false;
    }

    主页面中


    ***

    总结

    *audio标签的play事件会在音频播放的时候触发

    *audio标签的pause事件会在音频暂停的时候触发

    *通过对象的方式设置类名,类名生效与否取决于后面值的真假


    播放MV

    在这里插入图片描述

    在这里插入图片描述

    1.mv图标(v-id)

    2.mv地址获取(接口 mvid)

    3.遮罩层(v-show v-on)

    4.mv地址设置(v-bind)


    mv地址获取

    接口1mv地址获取
    请求地址http://autumnfish.cn/mv/url
    请求方法get
    请求参数id(mvid 为0说明没有mv)
    相应内容mv的地址

    mv图标是否显示


    新增属性

    //遮罩层的显示状态
    isShow:false
    //mv地址
    mvUrl:""

    新增方法

    palyMV:function(mvid){
    var that=this;axios.get("http://autumnfish.cn/mv/url?id="+mvid).then(function(response){that.isShow=true;that.mvUrl=response.data.data.url},function(err){ })
    }
    hide:function(){this.isShow=false;
    }

    主页面中





    *不同的接口需要的数据是不同的,文档的阅读需要仔细

    |

    mv图标是否显示


    新增属性

    //遮罩层的显示状态
    isShow:false
    //mv地址
    mvUrl:""

    新增方法

    palyMV:function(mvid){
    var that=this;axios.get("http://autumnfish.cn/mv/url?id="+mvid).then(function(response){that.isShow=true;that.mvUrl=response.data.data.url},function(err){ })
    }
    hide:function(){this.isShow=false;
    }

    主页面中





    *不同的接口需要的数据是不同的,文档的阅读需要仔细

    *页面结构复杂后,通过审查元素的方式去快速定位相关元素
    在这里插入图片描述


    推荐阅读
    • 本文介绍了在Vue项目中如何结合Element UI解决连续上传多张图片及图片编辑的问题。作者强调了在编码前要明确需求和所需要的结果,并详细描述了自己的代码实现过程。 ... [详细]
    • 使用nodejs爬取b站番剧数据,计算最佳追番推荐
      本文介绍了如何使用nodejs爬取b站番剧数据,并通过计算得出最佳追番推荐。通过调用相关接口获取番剧数据和评分数据,以及使用相应的算法进行计算。该方法可以帮助用户找到适合自己的番剧进行观看。 ... [详细]
    • 本文介绍了Redis的基础数据结构string的应用场景,并以面试的形式进行问答讲解,帮助读者更好地理解和应用Redis。同时,描述了一位面试者的心理状态和面试官的行为。 ... [详细]
    • 计算机存储系统的层次结构及其优势
      本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
    • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
    • 本文详细介绍了Spring的JdbcTemplate的使用方法,包括执行存储过程、存储函数的call()方法,执行任何SQL语句的execute()方法,单个更新和批量更新的update()和batchUpdate()方法,以及单查和列表查询的query()和queryForXXX()方法。提供了经过测试的API供使用。 ... [详细]
    • 个人学习使用:谨慎参考1Client类importcom.thoughtworks.gauge.Step;importcom.thoughtworks.gauge.T ... [详细]
    • 本文详细介绍了GetModuleFileName函数的用法,该函数可以用于获取当前模块所在的路径,方便进行文件操作和读取配置信息。文章通过示例代码和详细的解释,帮助读者理解和使用该函数。同时,还提供了相关的API函数声明和说明。 ... [详细]
    • GetWindowLong函数
      今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
    • Spring源码解密之默认标签的解析方式分析
      本文分析了Spring源码解密中默认标签的解析方式。通过对命名空间的判断,区分默认命名空间和自定义命名空间,并采用不同的解析方式。其中,bean标签的解析最为复杂和重要。 ... [详细]
    • SpringBoot uri统一权限管理的实现方法及步骤详解
      本文详细介绍了SpringBoot中实现uri统一权限管理的方法,包括表结构定义、自动统计URI并自动删除脏数据、程序启动加载等步骤。通过该方法可以提高系统的安全性,实现对系统任意接口的权限拦截验证。 ... [详细]
    • android listview OnItemClickListener失效原因
      最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
    • eclipse学习(第三章:ssh中的Hibernate)——11.Hibernate的缓存(2级缓存,get和load)
      本文介绍了eclipse学习中的第三章内容,主要讲解了ssh中的Hibernate的缓存,包括2级缓存和get方法、load方法的区别。文章还涉及了项目实践和相关知识点的讲解。 ... [详细]
    • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
    • 本文介绍了一个在线急等问题解决方法,即如何统计数据库中某个字段下的所有数据,并将结果显示在文本框里。作者提到了自己是一个菜鸟,希望能够得到帮助。作者使用的是ACCESS数据库,并且给出了一个例子,希望得到的结果是560。作者还提到自己已经尝试了使用"select sum(字段2) from 表名"的语句,得到的结果是650,但不知道如何得到560。希望能够得到解决方案。 ... [详细]
    author-avatar
    aaaaaaaaaaa的美丽人生_556
    这个家伙很懒,什么也没留下!
    PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有