需要自己install一些插件
stylus
stylus-loader
babel-runtime:对es语法进行转译,辅助es6编译 不用写在源码中
fastclick:解决移动端点击300毫秒延迟问题
babel-polyfill:对而生es6对api例如promise进行转译
第二章
在webpack.base.config.js中进行别名配置 才可省略相对路径
resolve: {
extensions: ['.js', '.vue', '.json'],
alias: {
'@': resolve('src'),
'common': resolve('src/common'),
'components': resolve('src/components'),
'base': resolve('src/base'),
'api': resolve('src/api')
}
},
第三章注意事项
router-link 默认渲染成a标签 加上tag="div" 渲染成div标签
第四章注意事项
1 jsonp原理:发送的不是ajax请求,而是动态生成script标签,然后把script的src指向请求真实的服务端地址
npm install jsonp
2 轮播用better-scroll实现 :mounted之后使用better-scroll
浏览器刷新通常是17毫秒一次建议用setTimeout(() => { }, 20) ,20毫秒之后调用better-scroll
3 如果需要写大量的js 尽量在methods 里封装成函数
4 split() 和 join() 的使用
5 fastclick 和better-scroll 会有冲突 ,需要点击的地方加上class="needsclick"
6 keep-alive 可以将dom缓存在内存中
7 计时器功能在组件销毁的时期要清除
destroyed() {
clearTimeout(this.timer)
}
8 axios
9 通过代理的方式抓数据接口 :访问node接口 在nonde接口访问其他网站 拿到数据 给vue
10 如果数据中带有html字符,用v-html = “” 会把html做转译
11 图片懒加载 vue-lazyload 好好阅读官方文档参数的作用
12 better-scroll 注意要dom数据加载完成之后调用,动态数据要刷新
第五章
1 es6 的class ?
2 数组排序 sort 的使用
3 数组map方法
4 es6:当key和value的值是一模一样的时候可以省略value
第六章
1 配置子组件路由
2 vuex :是一个专门为vue.js应用程序开发的状态管理模式。当构建大中型单页应用程序时,可以更好的帮助我们在组件外部统一管理状态。
5个核心概念:state和mutaions必须要掌握的,state的载体是数据源,所以必须定义state; mutations是唯一提交和改变状态的。因此这两个概念是必须掌握。
- State:1)每个组件data内部的变量都是state,state是vue和vuex里的核心概念,state是vuex唯一的数据源,是一个载体,我们需要把任何一个我们抽取出来的变量都要放在sate里进行管理,在任何一个页面都可以取到他。2)单一的状态树,只要注册到mian.js后 ,所有的组件都可以
- Getters:通过Getters可以派生出一些新的状态(相当于延伸state的数据类似计算属性),得到被某些地方使用但不能改变state,通过$store.getters获取
- Mutations:更改Vuex的store中的状态的唯一方法是提交mutation,$store.commit('函数' ,参数) 触发函数也可以传参,mutation都是同步的操作
- Actions:action提交的是mutation,而不是直接变更状态,action可以包含任意异步操作,action通过 dispath触发
- Modules:面对复杂的应用程序,当管理的状态比较多时,我们需要将vuex的store对象分割成模块(modules)。
3 es6 类 : 可以把代码集中在一个地方去维护,类的扩展性比对象强很多,是面向对象的编程方式
4 es6 解构
5 QQ音乐播放器地址无效了(song.js中createSong的url)
6 Math.max()
第七章
1 在任何路由下都可以播放的组件,切换路由也不会影响播放器的播放, 放在APP.vue 里面
2.如果在一个动作中多次去改变mutation ,那么往往会封装action
3.create keyframe animation(这个库):通过js的方式创建css动画,用js钩子实现动画
4.vue过渡动画,JavaScript钩子
5.audio:dom实例方法,播放audio.play() 暂停audio.pause(); audio派发事件: 播放anplay和错误error;歌曲播放时audio派发的事件timeupdate(当视频播放位置已经改变,显示视频当前播放位置(一秒计))
6 点击歌曲的时候playing就被设置为ture
8 prop 传值的时候如果是固定的值 可以省略冒号(:)例如 number = 32;但是会被自动转出字符串,因此要加冒号传递变量并在data中定义变量的值
第八章
1.请求失败,error code为-1的时候是参数写错了
网友评论