ソースを参照

clean computed fields in $log.

Evan You 10 年 前
コミット
5d0624b00c
1 ファイル変更14 行追加2 行削除
  1. 14 2
      src/api/data.js

+ 14 - 2
src/api/data.js

@@ -134,13 +134,25 @@ exports.$log = function (path) {
     ? Path.get(this._data, path)
     : this._data
   if (data) {
-    data = JSON.parse(JSON.stringify(data))
+    data = clean(data)
   }
   // include computed fields
   if (!path) {
     for (var key in this.$options.computed) {
-      data[key] = this[key]
+      data[key] = clean(this[key])
     }
   }
   console.log(data)
 }
+
+/**
+ * "clean" a getter/setter converted object into a plain
+ * object copy.
+ *
+ * @param {Object} - obj
+ * @return {Object}
+ */
+
+function clean (obj) {
+  return JSON.parse(JSON.stringify(obj))
+}