VUE2.0学习总结

vue项目运行提示Warnings while compiling.警告

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

关于vue各种import导入

其他导入方式:博主链接

我遇到的问题

在这里插入图片描述

关于在学习中方法的框架梳理

1. 配置别名及路径简写操作
首先 找到vue主框架里面的build目录下的webpack.base.conf.js
resolve: {
    extensions: ['.js', '.vue', '.json'],
    alias: {
      'vue$': 'vue/dist/vue.esm.js',
      '@': resolve('src'),
      // 在这里配置src下的路径
      'common':resolve('src/common'),
      'components':resolve('src/components')
    }
  }
结果配置 如果是main.js 就可以这样导入子类文件
import 'common/stylus/index.styl'
2. 编译运行页面默认跳转指定路径配置
首先 找到配置页面的路由
import Vue from 'vue'
import Router from 'vue-router'
import Recommend from 'components/recommend/recommend'
import Singer from 'components/singer/singer'
import Rank from 'components/rank/rank'
import Search from 'components/search/search'

Vue.use(Router)

export default new Router({
    routes: [
    {
    // 如果不带参数进行跳转指定页 设置redirect: '/recommend'带指定参数
        path: '/',
        redirect: '/recommend'
    },
    {
        path: '/recommend',
        component: Recommend
    },
    {
        path: '/singer',
        component: Singer
    },
    {
        path: '/rank',
        component: Rank
    },
    {
        path: '/search',
        component: Search
    }
]
})
3.babel-polyfill的引用和使用
chrome、ff浏览器下都能正常显示的页面,在百度浏览器下愣就显示不出来了
解决办法 npm install --save-dev babel-polyfill
babel-polyfill用正确的姿势安装之后,引用方式有三种:

1.require("babel-polyfill");

2.import "babel-polyfill";

3.module.exports = {

  entry: ["babel-polyfill", "./app/js"]

};
博主原帖:博主原帖链接
我的解决方式是 在main.js 最顶部分增加import ‘babel-polyfill’
4.fastclick 解决移动端点击300m延迟
进入main.js
import fastclick from 'fastclick'
// 整个body下的div标签点击都没有300m的延迟	
fastclick.attach(document.body)
含义说明 博主链接:博主链接
5. 新手练习制作幻灯片
最后图标隐藏 是因为 index从0-5 而length从1-6 所以图片翻到最后 5<5 结果不成立返回 false 图标隐藏
<!DOCTYPE html>
<html>

<head>
  <meta charset="utf-8">
  <title>新手练习</title>
</head>

<body>
  <div id="app">
    
    <button @click="prev" v-show="index!=0"></button>
    <img :src="imgarr[index]" alt="">
    <button @click="next" v-show="index<imgarr.length-1"></button>
  </div>

  <!-- 开发环境版本,包含了有帮助的命令行警告 -->
  <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
  <script>
    var app = new Vue({
      el: '#app',
      data: {
        imgarr: [
          "http://y.gtimg.cn/music/photo_new/T002R300x300M0000044GiMq06Bbqc.jpg",
          "http://y.gtimg.cn/music/photo_new/T002R300x300M000003Lr7ct0vUSj3.jpg",
          "http://y.gtimg.cn/music/photo_new/T002R300x300M0000009C3rp3Kfwg0.jpg",
          "http://y.gtimg.cn/music/photo_new/T002R300x300M000004dFbDj2kl3Pn.jpg",
          "http://y.gtimg.cn/music/photo_new/T002R300x300M000003Ls5Jo4EFBIH.jpg",
          "http://y.gtimg.cn/music/photo_new/T002R300x300M000000ZtuIr3Je4h6.jpg"
      ],
        index:0
      },
      methods: {
        prev: function () {
            this.index --;
      },
        next: function () {
          this.index ++;
          console.log(this.index.length)
      }
    }
    })
  </script>

</body>

</html>
新手学习制作记事本
<!DOCTYPE html>
<html>

<head>
  <meta charset="utf-8">
  <title>新手练习</title>
</head>

<body>
  <section id="todoapp">
    <header class="header">
      <h1>记事本</h1>
      <!-- inputvalue:"好好学习" 默认绑定数据   @keyup.enter="add" 敲回车add:function运行点击事件this.list.push(this.inputvalue)将内容添加到list中 -->
      <input  v-model="inputvalue" @keyup.enter="add" autofocus="autofocus" autocomplete="off" placeholder="请输入" class="new-todo">
    </header>
    <section class="main">
      <ul class="todo-list">
        <!-- v-for="(item,index) in list" 遍历list中的内容 -->
        <li class="todo" v-for="(item,index) in list">
          <div class="view">
            <span class="index" >{{ index+1 }}</span>
            <label>{{ item }}</label>
            <!-- 点击事件remove携带index索引 -->
            <button class="destroy" @click="remove(index)">X</button>
          </div>
        </li>
      </ul>
    </section>
    <footer class="footer">
      <span class="todo-count" v-if="list.length!=0"><strong>{{list.length}}</strong></span>
      <button class="clear" @click="clear" v-if="list.length!=0">清空</button>
    </footer>

  </section>

  <!-- 开发环境版本 -->
  <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
  <script>
    var app = new Vue({
      el: '#todoapp',
      data: {
        list: [
          "语文",
          "英语",
          "数学",
          
      ],
        inputvalue:"好好学习"
      },
      methods:{
        add:function () {
          this.list.push(this.inputvalue);
        },
        // index 携带的行参
        remove:function (index) {
          // 删除1个
          this.list.splice(index,1)
        },
        // 清空事件
        clear:function () {
          this.list = []
        }
      }
      
    })
    

  </script>

</body>

</html>
结果

在这里插入图片描述

在线音乐案例
<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <title>新手练习</title>
</head>

<body
    ><div id="app">
        <input type="text" v-model="content"  value="请输入" @keyup.enter="searchmusic">
        <ul>
            <p style="color: brown;">正在播放:&nbsp;&nbsp;{{ musicName }}<audio  controls autoplay loop :src="musicU" controls="controls" autoplay="autoplay"></audio></p>
                
            
            <li v-for="item in content">
                {{ item.name }} 
                <button @click="playmusic(item.id,item.name)"  type="audio/mp3"  >
                    播放 
                </button>
            </li>
        </ul>
    </div> 
    <!-- 开发环境版本 -->
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
    <script src="https://unpkg.com/axios/dist/axios.min.js"></script>
    <script src="https://cdn.bootcdn.net/ajax/libs/qs/6.9.3/qs.min.js"></script>
    <script>
        var app = new Vue({
            el:"#app",
            data:{
                content:"",
                musiclist:[],
                musicU:"",
                musicName:""
            },
            methods:{
                searchmusic:function () {
                    // var that =this
                    // "https://autumnfish.cn/api/joke/list?num=3"
                    // "https://www.pgnice.com/musicjs_bo/"
                    // ${name}
                    console.log(this.content)
                    var that = this
                    axios.get( "https://autumnfish.cn/search?keywords="+this.content)
                    
                //    "http://59.111.181.38/song/media/outer/url?id="
                    // "http://antiserver.kuwo.cn/anti.s?useless=/resource/&format=mp3&rid={}&response=res&type=convert_url&"
                    .then(response=>{
                        that.content = response.data.result.songs
                        
                    })
                },
                playmusic:function(musicId,musicname){
                    var that = this
                    axios.get("https://autumnfish.cn/song/url?id="+musicId)
                    .then(response=>{
                        that.musicU = response.data.data[0].url
                        that.musicName = musicname
                        // console.log(response.data.data[0].url)
                    })
                }
            }
        })
        // document.querySelector(".get").onclick = function () {
        //     axios.get("https://autumnfish.cn/api/joke/list?num=3")
        //     .then(function (response) {
        //         console.log(response)
        //     },function(err){
        //        console.log(err); 
        //     })
        //  }
         
    </script>

</body>

</html>

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值