首先看下面代码:
<!DOCTYPE html>
<html lang=en>
<head>
<meta charset="utf-8" />
<title>Hello world</title>
<script src="vue.js"></script>
</head>
<body>
<div id="root">
<!-- template渲染到页面上标签就没有了 -->
<template v-for="(item,key,index) of userInfo">
<div>{{item}}---{{key}}--{{index}}</div>
</template>
</div>
<script>
var vm = new Vue({
el: "#root",
data: {
userInfo:{
name:"xu",
age:"25",
gender:"man"
}
}
})
</script>
</body>
</html>
当我通过如下方式增加userInfo属性时,页面并没有发生改变,通过(.属性方式)更改现有属性是会发生改变的
有一下几种方式解决:
1.重新给对象赋引用
2.Vue中的方法 Vue.set
3.Vue实例中的方法$set