JS问题整理与思考--Vue三要素之模版解析2(render函数)

render函数

  • 模版中所有信息都包含在了render函数中
  • this即vm
  • price即this.price即vm.price,即data中都price
  • _c即this._c即vm._c

with的使用

var obj = {
    name:'zhangsan',
    age:20,
    getAddress:function () {
        alert('beijing')
    }
}
console.log(obj.age)
console.log(obj.name)
obj.getAddress()


fn1()
function fn1() {
    with (obj){
        console.log(age)
        console.log(name)
        getAddress()
    }
}

_c是创建标签

_v创建文本节点

_s转字符串,toString

var vm = new Vue({
    el:'#app',
    data:{
        price:111
    }
})

function render() {
    with (this){    // this 就是vm
        _c(
            'div',
            {
                attrs:{'id':'app'}
            },
            [
                _c('p',[_v(_s(price))])
            ]
        )
    }
}

随机浏览