vue

作者: juceyjing | 来源:发表于2018-04-23 00:44 被阅读6次

    let vm=new Vue({
    el:'#app',//表示当前的vue实例挂载在哪个DOM节点上
    data(){
    return {
    msg:''
    //data中的数据是根据defineProperty进行监听的,所以是双向绑定的状态。
    }
    },
    created(){
    //钩子函数,在页面初始化是进行加载,一般放的是异步方法。
    }
    })

    修改vm.msg是可以动态改变页面上渲染的值。
    指令
    是vue赋予的特殊功能意义的指令。
    data中的双向绑定的数据,是在改数据上添加了set、get方法,在赋值和取值时都会触发。
    let obj={},
    let temp={},
    Object.defineProperty(obj,'name',{
    get(){
    return temp['name']
    },
    set(value){
    temp['name']=value;
    }
    })
    引入第三方temp是用来做内部转化的,如果直接引用obj会导致栈溢出。
    首先在初始化的时候,vue会循环data中的数据,依次增加get和set函数,这叫做数据劫持。
    只有数据中有set和get才会有响应式的变化。
    如果放在data中的是一个数组,那么当数组中某一项发生变化的时候,数组中没法直接刷新数据,
    因为data没法给数组的每一项增加set和get方法,所以用$set方法,给对象强制加上响应式的属性。

    异步------回调
    回调是解决异步的一个方法。
    function buy(callback){
    setTimeout(function(){
    let a= '1'
    callback(a);
    },2000)
    }
    function cookie(){
    console.log('cookie')
    }

    最典型的异步是ajax回调

    promise的出现是为了解决回调函数的恶心写法
    首先promise是一个函数,用法
    promise构造函数中传入的是一个exe执行器,意思是传入就执行。
    let promise=new Promise((resolve,reject)=>{
    if(/异步调用成功/){
    resolve()
    }else{
    reject()
    }
    })

    promise(()=>{}).then(function(value){
    //sucess
    },function(error){
    //failue
    });
    promise().then(function(){

    }).catch(function(){

    })

    相关文章

      网友评论

          本文标题:vue

          本文链接:https://www.haomeiwen.com/subject/cjbhlftx.html