我正在尝试复制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
引用我创建的对象?