【问题标题】:Why use decorators, Where it will prove advantages为什么要使用装饰器,它会在哪里证明优势
【发布时间】:2014-05-12 00:10:19
【问题描述】:

我从几个星期开始浏览 angularjs,已经到达了装饰器,我的理解是,它只会通过添加或修改现有指令对象来装饰/修改现有指令,

我的问题是,为什么我们不直接在指令本身做同样的事情,为什么我们需要写一个抽象指令,然后在后期做 config() 指令,

使用这种行为有什么好处?,当它证明时,值得使用装饰器。

注意:由于我是一个学习者,这可能是一个简单或愚蠢的观点,但请多多指教,

【问题讨论】:

    标签: angularjs angularjs-directive


    【解决方案1】:

    我不相信你可以装饰指令。装饰器用于覆盖或修改服务。它通常用于修改/增强/替换/包装您不拥有的第 3 方或上游服务。优点很多,我会列出一些我能想到的:

    1. 您可以修改、增强或替换内置服务的第 3 方 从源头进行修改是没有意义的。这个答案给出了 一个很好的例子:https://stackoverflow.com/a/16078515/202913
    2. 您可以完全替换服务。例如,您可以替换 具有您自己的实现的内置 $log 服务,该服务记录到 您的服务器或将日志存储在本地存储中。
    3. 您可以包装服务以用于记录/跟踪目的。
    4. 您可以在调用实际之前包装服务以注入数据 服务方法,例如在调用 $http 之前注入安全令牌 方法。

    这是一个强大的功能,可以打开许多大门。

    【讨论】:

    猜你喜欢
    • 2019-03-06
    • 2012-09-15
    • 2021-04-01
    • 1970-01-01
    • 2012-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多