动机:我想用日志功能将主干模型中的所有函数包装起来,以便更容易地跟踪函数调用。
我正在迭代模型函数并用下划线 wrap() 扭曲它们。
但看起来来自“事件”哈希的事件函数绑定没有被包装,因为看起来这些函数被复制并存储在 DOM 中的某个地方,不确定。
有没有人也遇到过这个问题,或者有任何解决方法的想法?
在这些函数中手动输入 console.log() 不是我想要的。
动机:我想用日志功能将主干模型中的所有函数包装起来,以便更容易地跟踪函数调用。
我正在迭代模型函数并用下划线 wrap() 扭曲它们。
但看起来来自“事件”哈希的事件函数绑定没有被包装,因为看起来这些函数被复制并存储在 DOM 中的某个地方,不确定。
有没有人也遇到过这个问题,或者有任何解决方法的想法?
在这些函数中手动输入 console.log() 不是我想要的。
我认为您遇到的问题与人们尝试测试events
-hash 提供的功能时遇到的问题相同。直接在 View 上监视事件回调不起作用,但在实例化之前监视类原型是可行的。
// This won't work
var view = new SomeView();
spyOn(view, 'onClick');
view.$el.click(); // spy isn't called
// This works
spyOn(SomeView.prototype, 'onClick');
var view = new SomeView();
view.$el.click(); // spy is called
尝试在创建“类”后立即对其进行迭代prototype
,因为这应该是events
-implementation 调用的方法所在的位置。