gpt4 book ai didi

angularjs - $state 和 $stateProvider 有什么区别?

转载 作者:行者123 更新时间:2023-12-03 06:52:33 25 4
gpt4 key购买 nike

我目前正在阅读一个基于 AngularJS 1.4.8 的应用程序,该应用程序使用 AngularUI Router 0.2.15

我注意到此应用程序有时使用依赖项 $state,有时使用依赖项 $stateProvider

注入(inject)和使用 $state$stateProvider 之间有什么区别吗?

最佳答案

AngularJS中有两种类型的单例实例。

其中一个是我们经常使用的服务实例,例如 $state。

另一个称为“provider”,如 $stateProvider。

“Providers”持有公共(public)服务的工厂函数,负责创建相应的服务。

换句话说,$stateProvider 创建$state。

来自 Angular 文档:

An Angular service is a singleton object created by a service factory. These service factories are functions which, in turn, are created by a service provider. The service providers are constructor functions. When instantiated they must contain a property called $get, which holds the service factory function.

当 Angular 实例化模块时,它将首先创建提供程序,然后运行“module.config”函数。

但是,像 $state 这样的服务到那时还没有实例化。在“module.config”完成后,它们将在需要时由其提供者实例化(例如注入(inject)其他服务)。因此,您不能将 service 放入 module.config 中。

module.servicemodule.factory 实际上都在创建提供程序。它们是快捷方式,因此我们始终可以轻松创建服务。

关于angularjs - $state 和 $stateProvider 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38655519/

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