2
我有一个问题,spyOn一个方法绑定到一个事件与范围。$在工厂服务,与茉莉花。最初传递的真实方法被称为,而不是间谍。 我做了一个plinkr:http://plnkr.co/edit/2RPwrw?p=previewAngularJS +茉莉花:间谍事件回调
感谢您的帮助。
我有一个问题,spyOn一个方法绑定到一个事件与范围。$在工厂服务,与茉莉花。最初传递的真实方法被称为,而不是间谍。 我做了一个plinkr:http://plnkr.co/edit/2RPwrw?p=previewAngularJS +茉莉花:间谍事件回调
感谢您的帮助。
这是因为你绑定回调的方式。更改
service.$on('hello', service.method);
到
service.$on('hello', function() {
service.method();
});
当你说spyOn(service, 'method')
,你说“更换在service.method
有间谍参考的价值。”但是,您的原始service.$on
代码不会在触发事件时查找service.method 上的值 - 只需在服务初始化时查看。因此,更改service.method
指向后面的引用不起作用。