2017-vue

vue知识点

生命周期:

beforecreated:el 和 data 并未初始化 
created:完成了 data 数据的初始化,el没有
beforeMount:完成了 el 和 data 初始化 
mounted :完成挂载
beforecreate : 举个栗子:可以在这加个loading事件 
created :在这结束loading,还做一些初始化,实现函数自执行 
mounted : 在这发起后端请求,拿回数据,配合路由钩子做一些事情
beforeDestory: 你确认删除XX吗? destoryed :当前组件已被删除,清空相关内容

过滤器filter

filters: {
  capitalize: function (value) {
    if (!value) return ''
    value = value.toString()
    return value.charAt(0).toUpperCase() + value.slice(1)
  }
}

组件component

import VueAudio from '@/components/audio'

components:{VueAudio}

方法methods

methods:{
    upMp(){
      console.log('123456)
    }
}

监控变化watch

watch:{
    $route(to,from){ //导航发生变化,$route也就是会改变
      //头部展示
      if(to.meta.header==false){
        this.headerStatic = false
      }else{
        this.headerStatic = true
      }
    }
  }

 

axios请求

axios({
      method: 'post',
      baseURL: url,
      headers: {Authorization:"Bearer "+token},
      data: data
    }).then((res) => {
      console.log(res)
    }).catch((err) => {
      console.log(err)
    })

router路由

  {
    path: '/',
    component: login,
    meta:{index:2,footer:true,header:true,title:'登录'}
  }

router.beforeEach((to,from,next) => {
    if(to.matched.some( m => m.meta.auth)){
        // 对路由进行验证
        if(store.state.login) { // 已经登陆
            next()
        }else{
            next('/login')
          }
    }else{
      next()
    }
})

router.afterEach(function (to) {
	document.documentElement.scrollTop = document.body.scrollTop =0;
})

  

Vuex:共享数据

        // action
	login({dispatch,commit},value){
		return commit(LOGIN,value);
	},
        //mutation
	[LOGIN](state,value) {
		state.token=value
		state.login=true
	},
        //在页面上调用
          computed: {
            ...mapState({
              loading: state => state.loading,
            })
          } 

  

vue插件

VueLazyload:图片濑加载

// 图片缓加载
Vue.use(VueLazyload, {
  preLoad: 1.3,
  error: 'dist/images/load.gif',
  loading: 'dist/images/load.gif',
  attempt: 1,
  listenEvents: [ 'scroll' ]
})

vueCropper:图片截取

canvas图片压缩:

upImg(e){
      let that=this
      let file = e.target.files[0]; //input 

      let reader = new FileReader();
      reader.readAsDataURL(file)
      reader.onload = function(e){ 
          var res = this.result
          var cvs = document.getElementById("myCanvas");
          var ctx = cvs.getContext("2d");
          var img = new Image();
          img.src = this.result;
          img.onload = function(){
            var width = img.width,height = img.height;
            var scale = width / height;
            var width1 = 720,height1 = parseInt(width1 / scale);
            ctx.clearRect(0,0,cvs.width,cvs.height);
            cvs.width = width1;
            cvs.height = height1;
            ctx.drawImage(img,0,0,width,height,0,0,width1,height1);
            var base64 = cvs.toDataURL("image/jpeg",0.7);
            that.imgUrl = base64
          }
      }

    }

  

ElementUI:ui组件

vux:ui组件

mint:ui组件

posted @ 2018-02-11 22:53  fm060  阅读(179)  评论(0)    收藏  举报