Vue 中的 set 方法(十五)

 

一、改变对象的值
  Vue.set(vm.userInfo, "address", "beijing");
  vm.$set(vm.userInfo, "address", "shanxi");
二、改变数组的值
  Vue.set(vm.userInfo, 1, 6);
  vm.$set(vm.userInfo, 3, 100);

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Vue中的set方法</title>
    <script src="../vue.js"></script>
</head>
<body>
<div id="app">
    <div v-for="item of userInfo">
        {{item}}
    </div>
</div>
<script>
     var vm = new Vue({
         el: "#app",
         data: {
             userInfo: [1, 2, 3, 4, 5],
             userInfo: {
                 "address" : 'shanghai'
             }
         }
     });

     // 1、改变对象的值
     //Vue.set(vm.userInfo, "address", "beijing");
     //vm.$set(vm.userInfo, "address", "shanxi");
     // 2、改变数组的值
     // Vue.set(vm.userInfo, 1, 6);
     // vm.$set(vm.userInfo, 3, 100);
</script>
</body>
</html>

 

### 回答1: Vueset和get方法通常是用于监控Vue实例的数据变化的。set方法用于监听数据的变化,并在数据变化时执行相应的操作,例如更新视图或执行一些逻辑。get方法则用于获取数据的值,并在获取时执行相应的操作,例如返回数据前对数据进行格式化或加工。 在Vue,我们可以通过定义set和get方法来实现数据的监听。例如,可以在Vue实例的data选项定义一个属性,并在该属性的set方法定义相应的操作,以实现对该属性的监听: ``` var vm = new Vue({ data: { message: 'Hello' }, watch: { message: function (newValue, oldValue) { console.log('数据变化了') } }, computed: { formatMessage: { get: function () { return this.message.toUpperCase() }, set: function (newValue) { this.message = newValue.toLowerCase() } } } }) ``` 在上面的例子,我们定义了一个名为formatMessage的计算属性,该属性的get方法返回message的大写形式,并在set方法将新值转换为小写后再将其赋值给message属性。在Vue实例,我们可以通过访问formatMessage属性来触发set和get方法,并实现对message属性的监听。 ### 回答2: 在Vueset和get方法是用于监听和获取数据的方法set方法是用来修改数据的方法。当我们在Vue实例或组件定义了一个属性,可以通过set方法来动态改变这个属性的值。在set方法内部,我们可以根据需要对新值进行一些处理或验证,并最终将其赋值给对应的属性。 例如,在Vue组件定义了一个名为message的数据属性,我们可以通过set方法来改变它的值: ``` set message(newValue) { // 在这里可以对新值进行处理或验证 this._message = newValue; } ``` 在外部使用时,只需对message属性进行赋值,就会触发set方法对新值进行处理: ``` this.message = '新的消息'; ``` get方法是用来获取数据的方法。当我们获取一个属性的值时,可以通过get方法来返回触发该属性的值。在get方法内部,我们可以根据需要对返回的值进行处理或额外的操作。 例如,在Vue组件定义了一个名为fullName的计算属性,我们可以通过get方法来返回实时计算的全名: ``` get fullName() { return this.firstName + ' ' + this.lastName; } ``` 在外部使用时,只需使用fullName属性即可获取实时计算的全名: ``` console.log(this.fullName); ``` 综上所述,在Vueset和get方法分别用于动态改变和获取数据的值,我们可以通过这两个方法来对数据进行处理和验证,以及实现计算属性的功能。 ### 回答3: Vueset和get方法是用来操作Vue实例的数据的。它们是Vue的响应式系统的核心。 使用set方法可以动态地将一个属性添加到Vue实例,并使其成为响应式的。它接收三个参数:目标对象、属性名和属性值。当调用set方法时,Vue会将属性名和属性值添加到目标对象,并将其设置为响应式的,当属性值发生变化时,Vue会自动更新对应的视图。 get方法用于获取Vue实例的属性值。它接收两个参数:目标对象和属性名。当调用get方法时,Vue会根据目标对象和属性名返回对应的属性值。 使用set和get方法可以快捷地操作Vue实例的数据,并且能够保证数据的响应式。例如,我们可以通过set方法添加一个新的属性,并通过get方法获取它的值。这样的操作是非常方便和灵活的。 在Vue实例set和get方法通常是自动调用的,我们不需要显式地调用它们。当我们修改Vue实例的属性值时,Vue会自动检测到变化,并更新相关的视图。这就是Vue的响应式系统的工作原理。 总之,Vueset和get方法是用来操作Vue实例的属性的,可以快捷地添加属性和获取属性值,并且能够保证数据的响应式。它们是Vue响应式系统的核心,非常重要。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值