gpt4 book ai didi

typescript - 为什么我不应该将 Ionic 提供程序设置为全局变量?

转载 作者:搜寻专家 更新时间:2023-10-30 21:46:28 24 4
gpt4 key购买 nike

在我的 Ionic 项目中,我在许多自定义类中使用了 device.ts 提供程序。问题是,每次我使用我的自定义类时,我都必须将我的设备提供程序传递给它,因为没有其他方法可以访问它。

所以,我的代码每次都是这样的:

let user = User(device);
let cart = Cart(device);
let page = Page(device);

为了解决这个问题,在我的提供者的构造函数中,我可以设置

window.device = this;

现在,我不需要将设备传递给我的每个对象,因为我可以将它作为 window.device 获取到那里。这有什么坏处? Ionic 的文档中没有与此类似的内容,我不确定为什么,或者我正在做的事情是否是个坏主意。

最佳答案

这个想法是您的自定义类可以在您的项目之外继续存在。您的 User() 应该能够在提供设备的任何地方使用(听起来就像您编写的那样)。至少这是我的拙见。如果您的自定义类依赖于项目中的某些变量,那么它们就不能独立存在并且不可重用。

如果您从不打算重用您的代码,那就去做吧,您做到了。我总是追求最佳实践,但有时这样做会浪费时间。做最适合您情况的事情。

我一直相信模块化让我的代码更容易理解和修复。如果一段代码是自包含的并且不依赖于另一段代码或全局变量并且可以在不理解整个项目的情况下自行理解它对我来说总是更易于维护。

关于typescript - 为什么我不应该将 Ionic 提供程序设置为全局变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54165831/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com