无法访问观察者内部的数据变量,内部.map()

时间:2017-08-07 03:29:04

标签: vue.js vuejs2 array.prototype.map

我的根看起来像这样。我在数据和监视中定义了类型和历史变量,我试图访问另一个变量而不是我正在观看的变量。尝试访问.map()之外的历史记录变量,但在.map()内使用它会返回undefined

new Vue({
  el: '#root',

  data: {
     types: {},
     history: {}
  }

  watch: {
     types: {
         handler(obj) {
            console.log(this.history) // works

            types.map(function(val) {
               console.log(this.history) // undefined
            })
         }
     }
  }

}

1 个答案:

答案 0 :(得分:1)

因为您使用的是CDN,所以需要将this绑定到您的函数。请尝试以下方法:

 types.map(function(val) {
     console.log(this.history)
 }).bind(this);