美文网首页
vue打卡-对象的数据响应变化

vue打卡-对象的数据响应变化

作者: QinRenMin | 来源:发表于2019-05-15 19:55 被阅读0次
  • vue什么样的数据不能在页面显示
    未计划的数据,即在data中未定义的数据
<div id="app">
    <!--<p>{{a}}</p>-->
    <!--该数据未计划定义,无法显示-->
</div>
let message = "计划数据";

    let vm = new Vue({
        el:"#app",
        //只有计划好的数据才能做响应
        data:{
            message:message,
            addMessage:{}
        }
    });

未定义的数据.png

页面无内容显示

  • 如何添加未计划的数据
//这种方法不能添加未计划的数据
    // vm.addMessage.content="新加入的数据";//该数据无法加入

1.使用静态方法Vue.set(target,prop,value)
Vue.set(vm.addMessage,"content","使用静态方法set()加入的数据");
2.使用实例方法$set(target,prop,value)
vm.$set(vm.addMessage,"text","使用实例方法$set()加入的数据");

添加对象的属性.png
3.使用一般方法
  <div id="app">

    <p>原有:{{addMessage.a}}</p>
    <p>添加:{{addMessage.normal}}</p>

    <p>{{addMessage.text}}</p>
</div>
<script>
    let message = "计划数据";

    let vm = new Vue({
        el:"#app",
        //只有计划好的数据才能做响应
        data:{
            message:message,
            addMessage:{
                a:123
            }
        }
    });
    //使用一般方法,更改属性,但是不能保存原有的属性
    vm.addMessage={normal:123}
原有的属性丢失.png
4.解决上述问题
使用Object.assign方法
 //Object.assign(vm.addMessage,{name:value})
    let o = Object.assign(vm.addMessage,{name:value});
    console.log(o===vm.addMessage);//true,vue的机制当数值不发生改变时,默认不刷新


    //改写属性的数值,重新赋值,重新得到一个和原来名称相同的属性
    //使用Object.assign({},mv.addMessage,{name:value})
    vm.addMessage = Object.assign({},vm.addMessage,{text:"使用assign添加数据"})
assign.png

相关文章

  • vue打卡-对象的数据响应变化

    vue什么样的数据不能在页面显示未计划的数据,即在data中未定义的数据 页面无内容显示 如何添加未计划的数据 1...

  • Vue实例构造-1

    data Vue 实例的数据对象,Vue会将这些数据对象的属性转换为getter/setter,从而实现数据响应式...

  • 实现双向数据绑定proxy比defineProperty优劣如何

    vue三要素 响应式:如何监听数据变化(双向数据绑定) 模版引擎:如何解析模板 渲染:vue如何将监听到的数据变化...

  • Vue.js入门(一):模板语法、计算属性/监听器

    1 Vue 设计思想 数据驱动应用 MVVM模式:Vue完成ViewModel功能:响应式:监听数据变化模板引擎:...

  • 双向绑定

    数据响应式原理 vue实现数据响应式的原理就是利用了Object.defineProperty(),重新定义了对象...

  • vue打卡-数组的数据响应变化

    更改原数组的值push(),pop(),shift(),unshift(),splice(),sort(),rev...

  • 响应式对象原理

    上面的代码我们发现,当data对象属性price变化时,total会自动产生变化,像是vue的响应式对象,对象的属...

  • 响应式对象添加

    响应式数据中对于对象新增/删除属性以及数组的下标访问修改和添加数据等的变化观测不到。通过Vue.set以及修改数组...

  • Vue实例化时的配置

    var vm = new Vue({// 数据data: "声明需要响应式绑定的数据对象",props: "接收来...

  • Vue数据响应式原理

    Vue数据响应式原理 把一个普通的javascript对象传给Vue实例的data选项,Vue将遍历此对象所有的属...

网友评论

      本文标题:vue打卡-对象的数据响应变化

      本文链接:https://www.haomeiwen.com/subject/hlrmaqtx.html