如何在实例化javascript类时使用`this`访问数据

时间:2017-08-15 01:01:26

标签: javascript

我正在尝试复制vue.js只是为了学习。我不明白源代码,我只是按照我的方式去做。

我有一个班级

class Relidon {
    constructor(data) {
        this.methods = data.methods       
    }
        attributeHandler(node, attr, title){    
                if(title == 'clickDirective'){
                    node.addEventListener('click', function(e){
                        e.preventDefault(e);
                            this.methods.reverseMessage()
                    })
                }
        }
}

这是框架,然后我称之为。

new  Relidon({
  el: 'r-app',
  data: {
    message: 'Hello People!',
    age: '29',
    something: 'testing',
    seen: false,
    attrTitle1: 'this is the first title',
    attrTitle2: 'this is the second title',
  },
  methods: {
    app: this,
    reverseMessage: function () {
      console.log(this.data.message)
    }
  }

})

(我删除了处理其他所有内容的所有代码,以便您可以看到真正的问题)

this中的

app引用window对象。如何让this引用我创建的对象?

0 个答案:

没有答案