1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- <!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">
- <ul>
- <li v-for="(item,index) of person" :key="index">
- {{item.name}}--{{item.age}}--{{item.sex}}
- </li>
- </ul>
- <button @click="updateMsg">修改</button>
- </div>
- <script src="./vue.js"></script>
- <script>
- var app = new Vue({
- el:'#app',
- data:{
- person:[
- {
- name:"LiLi",
- age: 19,
- sex: '女'
- },
- {
- name:"Ming",
- age: 29,
- sex: '男'
- },
- {
- name:"Lucy",
- age: 99,
- sex: '女'
- },
- {
- name:"马冬梅",
- age: 98,
- sex: '女'
- },
- ],
- },
- methods: {
- // vue 响应式原理 => Object.defineProperty(getter/setter)
- // 数据监听 => 数据与视图的更新
- // Vue.set(target,propertyName/index,value)
- // (app实例).$set(target,propertyName/index,value)
- updateMsg() {
- // this.person[1] = {name:"马琛",age: 20,sex:'男'}
- this.$set(this.person,1,{name:"马琛",age: 20,sex:'男'})
- // Vue.set(this.person,1,{name:"马琛",age: 20,sex:'男'})
- }
- },
- })
- </script>
- </body>
- </html>
|