克隆Vue.js对象?

时间:2017-01-26 16:38:45

标签: javascript vue.js

我想使用console.log(obj)记录Vue.js对象,但所有属性都显示为reactiveGetter()reactiveSetter()个函数而不是其值。

如何克隆Vue.js对象,以便我只获得它的

由于循环引用(父级,子级等),我无法在Vue.js对象上使用JSON.parse(JSON.stringify(obj))

我尝试使用Vue.util.extend({}, obj),但这仍然维护对象内的数据绑定。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您可以迭代Vue对象属性,并忽略名称以_$开头的所有属性。

像这样:

var newObject = Object.keys(app).reduce(function(previous, current) {

    if (!current.match('^[_$]')) {
      previous[current] = app[current]
     }
      return previous;
}, {});

结果为console.log(newObject)

message: "Hello Vue!"
service: boundFn(a)

检查这个小提琴:https://jsfiddle.net/Reeska/g5srz7br/