vue中的动态改变数据

185 阅读2分钟

在vue里面,我们操作最多的就是各种数据,在jquery里面,我们习惯通过下标定向找到数据,然后重新赋值
比如var a[0]=111;
下面上代码
[JavaScript]
纯文本查看
复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<html lang="en">[/font][/color][/color][/align][color=#363636]<head>[/color]
[color=#363636] <meta charset="UTF-8">[/color]
[color=#363636] <title>Document</title>[/color]
[color=#363636] <script src="./js/vue.min.js"></script>[/color]
[color=#363636]</head>[/color]
[color=#363636]<body>[/color]
[color=#363636] <div id="app">[/color]
[color=#363636] <ul>[/color]
[color=#363636] <li v-for="item in listData">{{item}}</li>[/color]
[color=#363636] </ul>[/color]
[color=#363636] <a href="javascript:void(0)" v-text="he" @click="changeData()"></a>[/color]
[color=#363636] </div>[/color]
[color=#363636]</body>[/color]
[color=#363636]<script>[/color]
[color=#363636] new Vue({[/color]
[color=#363636] el:"#app",[/color]
[color=#363636] data:{[/color]
[color=#363636] he:"点我",[/color]
[color=#363636] listData:["a","b","c"][/color]
[color=#363636] },[/color]
[color=#363636] methods:{[/color]
[color=#363636] changeData () {[/color]
[color=#363636] this.listData[0]="d";[/color]
[color=#363636] }[/color]
[color=#363636] }[/color]
[color=#363636] })[/color]
[color=#363636]</script>[/color]
[color=#363636]</html>

当我点击按钮时候,发现没有任何变化,页面上还是a,b,c

vue当然不会这么菜呢
下面是伟大的vue内置的方法来了
Vue.set()
官方解释
设置对象的属性。如果对象是响应式的,确保属性被创建后也是响应式的,同时触发视图更新。这个方法主要用于避开 Vue 不能检测属性被添加的限制。