14.数据绑定.html 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  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. <ul v-for="(item,index) in arr" :key="index">
  11. <li>
  12. {{index+1}}--我叫{{item.name}}--今年{{item.age}}--是个{{item.sex}}孩
  13. </li>
  14. </ul>
  15. <button @click="changeDate">修改第二条数据</button@>
  16. </div>
  17. <script src="./vue.js"></script>
  18. <script>
  19. var vm = new Vue({
  20. data: {
  21. arr: [
  22. {
  23. name: "Lucy",
  24. age: 11,
  25. sex: "女",
  26. },
  27. {
  28. name: "LiLi",
  29. age: 31,
  30. sex: "男",
  31. },
  32. {
  33. name: "八戒",
  34. age: 21,
  35. sex: "男",
  36. },
  37. {
  38. name: "八卦",
  39. age: 23,
  40. sex: "男",
  41. },
  42. {
  43. name: "孙悟空",
  44. age: 27,
  45. sex: "男",
  46. },
  47. {
  48. name: "唐僧",
  49. age: 33,
  50. sex: "女",
  51. },
  52. ],
  53. },
  54. methods: {
  55. changeDate() {
  56. // 数据更新 视图未渲染
  57. // this.arr[1] = {name:"哪吒", age:3,sex:"男"}
  58. // console.log(this.arr,'新数据')
  59. // 第一种 Vue.set(target,index/name,obj)
  60. // Vue.set(this.arr,1,{name:"哪吒", age:3,sex:"男"})
  61. // 第二种 this.$set(target,index/name,obj)
  62. this.$set(this.arr,1,{name:"哪吒", age:3,sex:"男"})
  63. }
  64. },
  65. }).$mount("#app");
  66. </script>
  67. </body>
  68. </html>