|
|
@@ -0,0 +1,77 @@
|
|
|
+<!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>
|