| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- <!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">
- <button @click="changeName">修改第二项的名字</button>
- <ul v-for="(item,index) in arr" :key="index">
- <li>{{index+1}}.我叫{{item.name}}--今年{{item.age}}了--我是{{item.sex}}孩</li>
- </ul>
- </div>
- <script src="./vue.js"></script>
- <script>
- var app = new Vue({
- el: "#app",
- 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: "女",
- },
- ],
- },
- /**
- * Vue2响应式:Object.defineProperty()实现
- * 它只能监听对象属性的修改 无法监听数组下标直接赋值
- */
- methods: {
- changeName() {
- // this.arr[1].name = '图图';
- this.arr[1] = { name: "图图", age: 3 }
- // this.$set(this.arr,1,{ name: "图图", age: 3 })
- // Vue.set(this.arr,1,{ name: "图图", age: 3 })
- console.log(this.arr, 'arr')
- }
- },
- computed:{},
- watch:{},
- created() {
-
- }
- })
- </script>
- </body>
- </html>
|