VUE 综合应用 音乐查询

来自姬鸿昌的知识库
跳到导航 跳到搜索

https://www.bilibili.com/video/BV12J411m7MG/?p=31

功能分析

  1. 按下回车(v-on .enter
  2. 查询数据(axios 接口 v-model
  3. 渲染数据(v-for 数组 that

歌曲搜索接口

请求地址:https://autumnfish.cn/search

请求方法:get

请求参数:keywords(查询的关键字)

响应内容:歌曲搜索结果

完整代码示例

<html>
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width,initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>悦听player</title>
    </head>
    <body>
        
        <div class="wrap">

            <!--播放器主体区域-->
            <div class="play_wrap" id="player">

                <div class="search_bar">
                    <img src="images/player_title.png" alt=""/>
                    <!--搜索歌曲-->
                    <input type="text" autocomplete="off" v-model="query" @keyup.enter="searchMusic"/>

                    <div class="center_con">
                        <!--搜索歌曲列表-->
                        <div class="song_wrapper">
                            <ul class="song_list">
                                <li v-for="item in musicList">
                                    <a href="javascript:;"></a>
                                    <b>{{ item.name }}</b>
                                    <span><i></i></span>
                                </li>
                            </ul>
                            <img src="images/line.png" class="switch_btn" alt="">
                        </div>

                        <!--歌曲信息容器-->
                        <div class="player_con">
                            <img src="images/player_bar.png" class="play_bar"/>
                            <!--黑胶碟片-->
                            <img src="images/disc.png" class="disc autoRotate">
                            <img src="images/cover.png" class="cover autoRotate">
                        </div>

                    </div>
                </div>

            </div>

        </div>

        <!-- 开发环境版本,包含了有帮助的命令行警告 -->
        <script src="vue.js"></script>
        <script src="axios.min.js"></script>
        
        <script>
            /*
            歌曲搜索接口
            请求地址:https://autumnfish.cn/search
            请求方法:get
            请求参数:keywords(查询关键字)
            响应内容:歌曲搜索结果
            */
            var app = new Vue({
                el:"#player",
                data: {
                    query:"",
                    musicList:[]
                },
                methods :{
                    searchMusic: function () {
                        var that = this;
                        axios.get("https://autumnfish.cn/search?keywords="+this.query)
                        .then(function(response){
                            console.log(response);
                            that.musicList = response.data.result.songs;

                        },function(err){

                        })
                    }
                }
            })
        </script>

    </body>
</html>

总结和注意

  • 服务器返回的数据比较复杂时,获取的时候需要注意 层级 结构
  • 通过 审查元素 快速定位到需要操纵的元素