<div id="app">
<div @click="change">666aaaa{{ test.name }}</div>
<fncomp :vnode="vnode"></fncomp>
</div>
<script>
const vm = new Vue({
el: '#app',
data: {
test: {
name: 12,
age: 20,
arr: [1, {a: 'a'}]
},
vnode: 123
},
components: {
fncomp: {
functional: true, // 函数式组件
render(h, ctx) {
return ctx.props.vnode
}
}
},
methods: {
change() {
console.log(this._vnode)
this.vnode = this._vnode.children[0]
}
},
computed: {
fullTest({ test }) {
return test.name + test.age
}
},
watch: {
// 要监听2个值有没有变化可以在 computed 里定义一个变量 这里做监听
fullTest(val) {
console.log(val)
}
}
})
console.log(vm)
</script>
网友评论