123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8" />
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <title>Document</title>
- </head>
- <body>
- <div id="app">
- <div v-for="(item,index) in arr" :key="index">
- {{item.name}}--{{item.age}}--{{item.sex}}
- </div>
- <button @click="getNews">修改数据</button>
- </div>
- <script src="./vue.js"></script>
- <script>
- var app = new Vue({
- data: {
- arr: [
- {
- name: "Lucy",
- age: 11,
- sex: "女",
- },
- {
- name: "LiLi",
- age: 31,
- sex: "男",
- },
- {
- name: "八戒",
- age: 21,
- sex: "男",
- },
- {
- name: "八卦",
- age: 23,
- sex: "男",
- },
- {
- name: "孙悟空",
- age: 27,
- sex: "男",
- },
- {
- name: "唐僧",
- age: 33,
- sex: "女",
- }
- ],
- },
- methods: {
- getNews() {
- // 数据修改 视图未更新
- // Object.defineProperty 中的getter和setter去对数据进行设置和修改
- console.log("修改")
- // this.arr[2] = {name:"小郑",age: 20,sex:"女"}
- // 第一种写法
- // Vue.set(target,index/name,obj)
- Vue.set(this.arr,1,{name:"小郑",age: 20,sex:"女"})
- // 第二种写法
- this.$set(this.arr,2,{name:"小李",age: 24,sex:"男"})
- console.log(this.arr)
- }
- },
- }).$mount("#app");
- </script>
- </body>
- </html>
|