vue 爬坑小记(1)

作者: 老邵 | 来源:发表于2018-03-28 20:50 被阅读58次

使用 vue 开发的过程中,在将 vue 实例 data 中的一个对象添加到数组中时产生了一个小问题。起初我的代码是这样的(简化版):

export default({
           data() {
                   return{
                         arts:[],
                         newArt:{
                               "title":"";
                                }
                          }
             }
       })

具体的实现是用 v-model 将 title 绑定到一个 input 元素,在改变 input 元素后,通过按钮绑定一个点击事件,将改变了 title 的 newArt 添加到 arts 数组中。然后通过 vue 的列表渲染将 arts 展示到页面。最初将改变的对象添加到数组中的代码如下:

this.arts.push(this.newArt)

结果发现,当我添加了两个以上对象后,后面的对象全部与前面的一样。也就是说数组中的每个元素都是对同一个对象的引用。于是我将代码改为:

   var art = this.newArt;
   this.arts.push(art);

浏览器报错,没有发现 title 属性。这是因为对象不可以直接拷贝,利用 assign 函数实现了想要达到的效果:

var art = Object.assign({},this.newArt);
this.arts.push(art);

assign 函数的功能是将除了目标对象外的其他对象的可枚举属性拷贝给目标对象,并返回目标对象。第一个参数是目标对象,其余为要被拷贝的对象。

index.jpg

相关文章

  • vue 爬坑小记(1)

    使用 vue 开发的过程中,在将 vue 实例 data 中的一个对象添加到数组中时产生了一个小问题。起初我的代码...

  • vue爬坑(1)

    click事件值传递方式: 想来想去,原来是可以直接传递的?

  • VUE 爬坑笔记 (1)

    MVVM (Model-View-Viewmodel) MVVM是什么? M 数据模型,主要来自后台数据 V 视图...

  • Vue爬坑

    在这里记录一些vue开发过程中的小tips。 使用ESlint自动修复代码格式:如果使用了 ESlint ,在 p...

  • Vuex + axios

    Vue 爬坑之路(六)—— 使用 Vuex + axios 发送请求 Vue 原本有一个官方推荐的 ajax 插件...

  • Vue项目中使用Echarts创建图表

    参考:Echarts官网、Vue项目中使用Echarts展示图表数据、Vue 爬坑之路(八)—— 使用 Echar...

  • Vue爬坑之路一:开发环境

    Vue作为最简单的前端框架三巨头非常适合入坑但是是个坑就需要爬所以我们记录一下爬坑之路 官网:https://cn...

  • Vue爬坑之旅

    1.axios赋值的问题 描述:前后数据对接,使用nuxt整合的axios,使用vue中的钩子函数在页面组件挂载完...

  • vue爬的坑

    err:Computed property "isPlay" was assigned to but it has...

  • 爬坑1

网友评论

    本文标题:vue 爬坑小记(1)

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