我很困惑。您能否澄清 angular.extend(( and $ supply.decorator 之间的区别?Why and when use the second one?
是 Decorator 做与 Extend 不同的事情?进行搜索后,我找不到任何答案...
angular.extend()
只是标准javascript扩展工具的另一个实现。您可以找到许多其他类似的(如果不相同(的实现,例如object.assign((,jQuery's,underscore's ...
$provide.decorator()
虽然是装饰器模式的角度实现,并且更强大,因为它允许您透明地更改提供商的行为,即不必修改因对象。文档中的示例非常简单:每次调用$log.warn()
时,该消息将自动由'Decorated Warn: '
。