Angularjs 如何包装$digest()?
我需要在Angular应用程序(性能监视)中测量$digest duration 理想情况下,我希望在启动Angularjs 如何包装$digest()?,angularjs,Angularjs,我需要在Angular应用程序(性能监视)中测量$digest duration 理想情况下,我希望在启动$digest()之前花点时间,在执行之后再花点时间 我计划用我的代码包装$digest函数,类似这样(伪代码): 此包装对应用程序的其余部分应该是透明的,因此每个人都只需保持调用$scope.$digest(),而不必了解此包装。我希望避免对angular.js进行任何修改 问题:我怎样才能做到这一点?[使用Angular 1.3]您需要在rootScope原型中重写$digest ang
$digest()
之前花点时间,在执行之后再花点时间
我计划用我的代码包装$digest
函数,类似这样(伪代码):
此包装对应用程序的其余部分应该是透明的,因此每个人都只需保持调用$scope.$digest()
,而不必了解此包装。我希望避免对angular.js进行任何修改
问题:我怎样才能做到这一点?[使用Angular 1.3]您需要在rootScope原型中重写$digest
angular.module('myModule', []).run(run);
function run($rootScope) {
var scopeProto = Object.getPrototypeOf($rootScope);
var originalDigest = scopeProto.$digest;
scopeProto.$digest = function(){
console.log("Hello from digest!");
originalDigest.call(this);
}
}
(打开控制台查看结果)。未意识到“Object.getPrototypeOf()”的问题。伟大的专利,谢谢!
angular.module('myModule', []).run(run);
function run($rootScope) {
var scopeProto = Object.getPrototypeOf($rootScope);
var originalDigest = scopeProto.$digest;
scopeProto.$digest = function(){
console.log("Hello from digest!");
originalDigest.call(this);
}
}