问题标签 [injectable]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
angular - 在 Web Worker 中使用 Angular 8 Injectable 服务
我有一个 Angular 应用程序,它初始化 Web Worker 并在其中启动一些渲染操作。Worker 具有辅助类 Renderer 的实例来执行渲染操作。
现在我需要从 RealtimeDataService (@Injectable) 获取实时数据以提供给渲染器。
但是当我在我的助手类 Renderer 中导入服务时(或直接导入工作打字稿文件),编译器向我抛出了这个错误:
./src/app/workers/ecg.worker.ts (./node_modules/worker-plugin/dist/loader.js!./src/app/workers/ecg.worker.ts) 中的错误模块构建失败(来自 . /node_modules/worker-plugin/dist/loader.js):错误:../../../node_modules/@angular/core/core.d.ts(1470,29):错误TS2304:找不到名称'元素'。../../../node_modules/@angular/core/core.d.ts(9115,81):错误 TS2304:找不到名称“HTMLElement”。../../../node_modules/@angular/core/core.d.ts(10194,62):错误 TS2304:找不到名称“节点”。../../../node_modules/@angular/core/core.d.ts(13467,20):错误 TS2304:找不到名称“文档”。../../../node_modules/@angular/core/core.d.ts(13481,13):错误 TS2304:找不到名称“窗口”。
如何在 Web Worker 上下文中使用可注入服务?
typescript - 如何与 tsrynge 共享相同的依赖注入树?
我希望每个子容器的每个类只有一个实例。
我想在我的 childcontainer 中有一个“singleton”。每个子容器只对所有类进行一次实例化。@singleton 仅在全局容器中解析。
我怎样才能做到这一点?
javascript - Nest 无法解析自定义服务的依赖关系
我基本上按照本教程进行了非常小的修改:链接
我在节点 12.10.0 上使用嵌套 6.14.2。运行我的应用程序时,我得到:
我的文件如下所示:
1.app.module.ts
2.reconQuery.service.ts
3.reconQuery.interface.ts
4.reconQuery.module.ts
我想知道为什么它会为 ReconQuery模型哭泣,因为我没有这样的实体,只有一个 ReconQuery 接口。
angular - 组件更改时注入令牌未重置
我不确定这里的小细节,所以也许这甚至不应该工作 - 但似乎应该有一些解决方案。我有一个在选项卡中使用两个子组件的父组件,如下所示:
父级还有一个刷新组件,负责刷新两个选项卡中的数据。每个子组件都注入一个实现 Refreshable 接口的服务:
- 子组件 1:
constructor(private service1: Service1)
- 子组件 2:
constructor(private service2: Service2)
每个服务看起来像这样(将 1 替换为 2 用于第二个服务):
refersher-component
看起来像这样:
发生的情况是,当我加载页面时(默认为第一个选项卡),console.log
输出 Service1. 但是,当切换到 Tab 2 时,再次调用了构造函数,但它也输出了 Service1。因此刷新也是对Service1的数据进行的,不影响Service2。
这是正常行为吗,因为路线没有改变,我需要添加一些东西来重置服务吗?一般来说,有没有一种简单的方法来解决这种行为?(角度 8)
angular - Angular Singleton Injectable 服务不起作用
我有一项设置为可注入的服务,该服务具有我想在两个组件之间共享的属性。每个组件都有一个单独的路由
这是我的服务:
我想分享的正确的是 isAuth 我将服务作为提供者添加到 app.model.ts
这是 2 个组件 1. 将值设置为 true 的 home 组件
2.第二个组件登录组件此时只显示isAuth的值。
是否有从主组件导航到登录组件的特定方法,以使服务不会再次重新初始化?
因为当我导航到 localhost:4200/login 时,isAuth 被重置并且服务被重新初始化。
我正在尝试实现 OpenIdConnect 身份验证,而 /login 组件是我的 URI 重定向,因此我想确保我的授权属性在我的应用程序中是全局的。
我可能遗漏了一些东西你能帮忙吗?
angular - 将数据保存在 observable (ionic 4)
我想在登录后保存用户数据,然后在个人资料页面中检索数据。我有一个简单的user.service.ts
成功更新了行为主体。
后来我尝试访问profile.page.ts中的 observable
但我的回答是空的
我已将 user.service.ts 放在 app.module 和 profile.module 的提供者中,但我可能会错过其他内容。
flutter - 带参数的单例注入
我确实想使用包get_it和injectionable。他们都很棒,但我面临一个问题。也许我的想法是错误的。
我的应用程序有两个单例,我想为不同的应用程序风格使用不同的基本 url。所以我用 baseUrl 值向单例构造函数添加了一个参数。
现在的问题是,injectable 只有@factoryParam作为注释。名字就说明了问题。它不适合单身人士。
该问题的最佳实践是什么?我是否应该摆脱构造函数注入并在单例中注入 baseUrl
或者这不是最好的主意吗?
angular - Angular 服务中的providedIn 属性不起作用
我正在学习 Angular DI,但提供的示例 ( https://angular.io/guide/providers#providedin-and-ngmodules ) 不起作用任何人都可以帮助我理解这里是我正在研究的 Stackblitz 的链接。 https://stackblitz.com/edit/angular-ivy-k1gvth 谢谢,Keshav
flutter - 从另一个 bloc 内部向该 bloc 添加事件时不调用 BlocBuilder 的 build 方法
我已经bloc A
创建并提供了我的应用程序的所有小部件。
我Bloc B
在screen 1
.
Bloc B
具有对 的引用并且Bloc A
可以将事件添加Bloc A
到mapEventToState
.Bloc B
现在奇怪的事情:
BlocBuilder
在屏幕 1内Bloc A
,我有一个
如果我直接添加事件(状态改变时调用)blocAReference.add(blockAEvent)
,BlocBuilder
但是,当我将事件间接添加到Bloc A
(blocBrefrence.add(blockBEvent)
然后在内部mapEventToState
将Bloc B
事件添加到Bloc A
)时,BlocBuilder
不会调用 (但我可以通过print
控制台确保事件已添加到Bloc A
)
我正在使用flutter_bloc
图书馆。
angular - 错误:必须从注入上下文调用注入()但找不到来源
我正在使用 angularfire 的身份验证服务来注册和登录用户到我的应用程序,但是当我触发注册或登录方法时,我收到以下错误:错误:必须从注入上下文调用注入()
我尝试将 angular.json 文件中的 preserveSymlinks 设置为 true,但仍然无济于事。
我的注册和登录方法如何调用注入(),为什么它不起作用?
请在下面找到我的相关文件:
角.json
登录页面.ts
注册页面.ts
用户模型.ts
tsconfig.app.json