vue基础(1)--instance对象

熟悉vue的各个api。少走弯路、高效开发。复习一遍,开始~~~ 

new Vue({
    el:"#root",
    template:'<div>this is template</div>'
})



const app = new Vue({
    // el:"#root",
    template:'<div>{{text}}</div>'',
    data:{
        text:'text'
    }
})
app.$mouont("#root")        //挂在到id为root的节点上

setInterva(()=>{
    app.$data.text +=1      //获取data中数据的方法  $data
},1000)

console.log(app.$data)
console.log(app.$props)
console.log(app.$el)
console.log(app.$options)
app.$options.render=(h)=>{         //重新赋值 render   方法
    return h('div',{},'new render function')
}
console.log(app.$root === app)     //同一个货
console.log(app.$children)         //子组件
console.log(app.$slots)            //插槽
console.log(app.$scopedSlots)      //可以通过这种方式引用插槽
console.log(app.$refs)             //模板的引用,返回节点对象
console.log(app.$isServer)         //服务端渲染时用

const unWatch = app.$watch('text',(newText,oldText)=>{
    console.log(`${newText}:${oldText}`)
})
setTimeOut(()=>{
    unWatch()
},2000)

app.$on('test',(a,b)=>{               //事件监听,跟$emit方法配合使用
    console.log(`test emited'+{a}{b}`)
})
app.$emit('test',(1,2)

app.$once('test',(a,b)=>{             //只监听一次
    console.log(`test emited ${a} ${b})
})

let i=0
setInterval(()=>{
    i++
    app.text +=1
    app.obj.a = i
    app.$set(app.obj,'a',i)
    app.$delete()
    app.$emit('test',1,2)
},1000)

app.$forceUpdate()                     //某个对象上的属性未声明,改变是不会触发响应式的。  
//app.obj.a = 1  可以通过强制刷新, 少用
app.$set(app.obj."a",100)              //补救方案,vue会声明,
app.$delete(app.obj.a)                 //对应删除方案


app.$nextTick({})          //dom渲染完成,下次dom更新的时候调用。有用的方法,调试利器复制代码


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值