15.数据监听.html 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>Document</title>
  7. </head>
  8. <body>
  9. <div id="app">
  10. <div v-for="(item,index) in arr" :key="index">
  11. {{index + 1}}.我叫{{item.name}}--今年{{item.age}}了--我是{{item.sex}}孩
  12. </div>
  13. <button @click="changeDate">修改数据</button>
  14. </div>
  15. <script src="./vue.js"> </script>
  16. <script>
  17. var vm = new Vue({
  18. el: "#app",
  19. data:{
  20. arr: [
  21. {
  22. name: "Lucy",
  23. age: 11,
  24. sex: "女",
  25. },
  26. {
  27. name: "LiLi",
  28. age: 31,
  29. sex: "男",
  30. },
  31. {
  32. name: "八戒",
  33. age: 21,
  34. sex: "男",
  35. },
  36. {
  37. name: "八卦",
  38. age: 23,
  39. sex: "男",
  40. },
  41. {
  42. name: "孙悟空",
  43. age: 27,
  44. sex: "男",
  45. },
  46. {
  47. name: "唐僧",
  48. age: 33,
  49. sex: "女",
  50. },
  51. ],
  52. },
  53. methods:{
  54. changeDate() {
  55. // let obj = {
  56. // name:'哪吒',
  57. // age: 7,
  58. // sex: "男"
  59. // }
  60. // this.arr[2] = obj;
  61. // 数据改变 视图未变
  62. // Vue.set(this.arr,2,{
  63. // name:'哪吒',
  64. // age: 7,
  65. // sex: "男"
  66. // })
  67. this.$set(this.arr,2,{
  68. name:'哪吒',
  69. age: 7,
  70. sex: "男"
  71. })
  72. console.log(this.arr)
  73. // Vue.set(target,index/name,newObj)
  74. // this.$set(target,index/name,newObj)
  75. }
  76. }
  77. })
  78. </script>
  79. </body>
  80. </html>