【问题标题】:Knockout internal/external modules !== transient/singleton lifestyles?淘汰内部/外部模块!==瞬态/单身生活方式?
【发布时间】:2015-12-20 01:21:55
【问题描述】:

当使用 IoC 容器时,我可以指定当需要给定依赖项时,要么每次传入一个新对象,要么传入的对象始终是同一个实例。

我曾认为内部和外部模块分别提供了该功能,但现在我不太确定。此外,我发现我在 Knockout 中的自定义绑定在使用“内部”模块时接收“未定义”作为 viewModel 参数。

如何使用外部模块在单例和瞬态之间进行选择?

我在 TypeScript 中使用 Durandal (Knockout, RequireJS)。

【问题讨论】:

    标签: javascript knockout.js typescript durandal amd


    【解决方案1】:

    使用“内部”模块时将“未定义”作为 viewModel 参数

    这是与 JavaScript 发出排序有关的常见错误。更多信息在这里:https://github.com/TypeStrong/atom-typescript/blob/master/docs/out.md

    当使用 IoC 容器时,我可以指定当需要给定依赖项时,要么每次传入一个新对象,要么传入的对象始终是同一个实例。

    外部模块系统与 IoC 容器不同。一个模块是一个单例,你总是得到相同的实例。如果你想拥有不同的实例,让你的模块导出一个函数(它可以作为你实际想要的对象的工厂)。

    【讨论】:

      猜你喜欢
      • 2019-04-17
      • 2017-04-17
      • 2014-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多