我可以在执行meld aop方法后添加方法吗
Can i add method after method being executed meld aop
考虑一下我有 class
function home {}{
this.door=function(){},
this.tiles=function(){}
}
在使用名为 meld js (https://github.com/cujojs/meld/blob/master/docs/api.md#meldafter)
的库调用方法后,我必须添加一些消息
我的尝试
var allMethods = new home();
Object.keys(allMethods).forEach(function(k){
aop.after(Object.prototype,key,function(){
console.log('Dont use me i am old')
});
})
这是正确的方法吗?
您的方法是正确的,但是您的代码中有几个错误。
首先,home
函数应该有 ()
而不是 {}
:
function home() {
this.door=function(){},
this.tiles=function(){}
}
其次,在您的 AOP
代码中,您需要将对象提供给 after()
方法而不是原型。
var allMethods = new home();
Object.keys(allMethods).forEach(function(k){
aop.after(allMethods,k,function(){
console.log('Dont use me i am old')
});
})
(您还需要使用变量 k
而不是 key
因为这是在 forEach
方法中定义的变量)
如果您运行其中一种方法,您将获得所需的输出。
allMethods.door() // result 'Dont use me i am old'
考虑一下我有 class
function home {}{
this.door=function(){},
this.tiles=function(){}
}
在使用名为 meld js (https://github.com/cujojs/meld/blob/master/docs/api.md#meldafter)
的库调用方法后,我必须添加一些消息我的尝试
var allMethods = new home();
Object.keys(allMethods).forEach(function(k){
aop.after(Object.prototype,key,function(){
console.log('Dont use me i am old')
});
})
这是正确的方法吗?
您的方法是正确的,但是您的代码中有几个错误。
首先,home
函数应该有 ()
而不是 {}
:
function home() {
this.door=function(){},
this.tiles=function(){}
}
其次,在您的 AOP
代码中,您需要将对象提供给 after()
方法而不是原型。
var allMethods = new home();
Object.keys(allMethods).forEach(function(k){
aop.after(allMethods,k,function(){
console.log('Dont use me i am old')
});
})
(您还需要使用变量 k
而不是 key
因为这是在 forEach
方法中定义的变量)
如果您运行其中一种方法,您将获得所需的输出。
allMethods.door() // result 'Dont use me i am old'