# 问题
# 1. 未做响应式绑定的变量,因为其它值的改变重新渲染了
代码如下:
<template>
<div id="app">
<img alt="Vue logo" src="./assets/logo.png">
<div>{{ user.name }}</div>
<div>{{ user.age }}</div>
<div>{{ age1 }}</div>
<div @click="change">点击</div>
</div>
</template>
<script>
export default {
name: 'App',
computed: {
age1() {
return this.user.age + 1;
}
},
data() {
return {
user: {}
}
},
methods: {
change() {
this.user.name = Math.random();
this.user.age = Math.random() * 10;
}
}
}
</script>
**问题: ** 当user初始化几没有name也没有age的时候,点击触发change事件页面内容不渲染,符合响应式绑定 但是当user里面有name没有age的时候,点击触发change事件,页面中name和age都进行了重新渲染,好像age也有了响应式,而实际看vue-tools是没有age属性的,computed中的age1始终为NaN
原因?