_s(ct) 而不是
_s(ct()) 就能正确引用计算属性值的原因,计算属性快就快在了这里4)
v-for="item in items" 被解析成了
_l((items),
function(item) {
return _c('div', [_v("ntt " + _s(item.text) + "nt ")])
})可见 _l 跟 for-each 很类似
5) 至于
v-on:click 则解析成了
_c('button', {
on: {
"click": bindClick
}
}6) 再来看看 _c,
c->create->createNode, 假设这个方法就是创建虚拟节点,回头看上述代码,是不是挺有道理,_c 创建根节点,传入的子节点同样需要这个方法创建。找找源码验证下 src/core/vdom/vnode.js,以下中文注释是我加的
constructor (
tag?: string, //标签名
data?: VNodeData, //属性数据,事件监听等
children?: ?Array<VNode>, //子节点
text?: string,
elm?: Node,
context?: Component,
componentOptions?: VNodeComponentOptions
) {
...
}至此,也算是自圆其说了
总结
以上就是这篇文章的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对软件开发网的支持。










