问题标签 [sharedservices]

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.

0 投票
1 回答
1092 浏览

hyperion - 如何通过 Maxl 创建和分配用户访问权限?

Hyperion 共享服务无法正常工作,那么如何创建和分配对多维数据集的 LDAP 用户访问权限?

0 投票
2 回答
47792 浏览

angular - Angular 4在共享服务中发出和订阅事件

我在我的主要组件中发出一个事件:

主要组件.ts

这是我的 sharedService.ts

在我的另一个(子)组件中,我想访问这个值,但不知何故,订阅不起作用:

仪表板.ts

我错过了什么吗?当我将数据作为 Injectable 传递时,它工作正常。发出事件(在主组件中)发生在一些 REST 调用之后。

更新

所以问题是子组件是在事件第一次发出之后创建的。我想在这种情况下最好将数据直接注入subcompnent

0 投票
1 回答
774 浏览

angular - 如何在 Angular 5+ 的模块级别访问 SharedService

我对 Angular5/TypeScript 比较陌生,所以我为这个(也许)微不足道的问题道歉。

我正在尝试实现我打算使用的身份验证服务,以便让我的 Angular5 前端使用一些由 wordpress 后端公开的 REST API。

到目前为止,该服务已实施并正在运行。我现在缺少的是一种将登录数据注入 REST 请求的方法。

更准确地说,我知道该怎么做,但我现在不知道如何访问我之前存储在共享服务中的登录信息。

但让我更具体一点,让我分享我的代码:

正如您在 //JWT 令牌注入的代码中看到的那样,我需要指定一个令牌获取器,该令牌获取器在我的 auth.service 中实现。

在组件文件中,我可以通过将服务作为构造函数的参数注入来访问其公共方法,如下所示:

但我似乎没有找到在模块级别访问服务方法的方法!

我知道,我可以对我的 tokenGetter 使用静态访问,并在类级别而不是实例级别移动所有内容(例如:),AuthService.getToken但我认为有一种更好、更优雅的方式来访问该getToken()方法。

提前感谢您的任何提示/帮助。

0 投票
2 回答
537 浏览

typescript - 通过 router.navigate 方法加载组件时未在 NgOnInit 中调用共享服务的方法

我有一个详细组件和子组件概述和联系方式,我使用共享服务来共享一个数组 ImageMap,该数组在初始化时从服务中检索后由详细信息更新,并由子组件在其各自的 init 方法上订阅和访问。当我导航到子组件时,在地址栏中手动键入地址时,子组件的 ngOnInit 中的片段以设置共享服务中的数组值被加载,而在通过 router.navigate 导航时单击按钮,除了该部分NgOnInit 其他所有内容都会被加载。请帮助我。我哪里出错了?

//账户明细component.html

//数据共享服务.ts

//账户明细组件.ts

//账户总览Component.ts

0 投票
1 回答
1178 浏览

rxjs - 带有 BehaviorSubject 的 Angular SharedService 在刷新时丢失数据

我创建了 sharedService 它运行良好,我可以将数据从一个组件共享到另一个组件(这两者都是不同模块中的不相关组件)。

  • 数据传输如下:

AdminDashboard.Component(更新值)===> Conference.component(获取新的更新值)

问题:当我刷新我的会议组件时,我失去了价值

事件服务.ts

仪表板.component(网址/仪表板)

on Button Click msg() 方法调用,更新了 BehaviourSubjectvalue。

Conference.component (url /conference) 在这里,我在消息中保存值并绑定到 ui。

问题 :

  • 当我在 /conference 页面上获取数据时,当我刷新服务持有的值时丢失了,我不明白会发生什么。

  • 我还需要将 json 添加到 sharedService ,它将如何实现?

0 投票
1 回答
41 浏览

unity-container - Prism6 共享服务和依赖属性

我使用 Prism6 + Unity 容器进行桌面应用程序开发。这是一篇长篇大论,抱歉。所以我在顶部问:如果输入值为 Unity 单例,Prism SetProperty() 函数不会上升属性更改事件。我明白为什么:因为输入值和保存值对单例实例具有相同的引用。RaisePropertyChanged() 在这种情况下没有帮助。长读是statring...

所以,我的 UserControl 组件中有一个依赖属性:

从 WorksheetDataPropertyChanged() 函数调用操作对我来说很重要。没有共享服务(单例)的方案运行良好:调用此函数。

但现在我想在几个模块之间共享数据。我如何看待它:我有一些“父”模块,它从存储中加载\保存数据并与其他几个模块共享这些数据,这些模块可以修改共享数据,但不能保存它。而且 EventAggregator 对我来说并不方便:我不想创建数据副本,然后在修改后再次收集它。所以我将我的“共享服务”注册为单例:

现在我可以将“父”视图模型中的数据库中的数据加载到上一步创建的单例对象中:

此外,我通知子视图模型有关单例中的新数据:

现在最重要的代码来自子视图模型。在委托处理程序中,我“应用”新值:

工作表数据是:

这一行的问题:

它在第一次调用时只工作一次,因为 _worksheetData 为空。但是随后 _worksheetData (指针)的引用设置为单例,并且在所有下一个调用值和 _worksheetData 对于 SetProperty() 都是相同的,因此它就退出了。

我尝试了下一个代码:

但是没有效果。UserControl 组件中的 WorksheetDataPropertyChanged() 回调未调用。

所以,我现在不知道如何更好地在几个模块之间共享一些数据。感谢您的任何建议。

0 投票
1 回答
279 浏览

oracle - Hyperion Foundation Services 服务器已关闭

我在 CentOS 7 中安装了 Hyperion EPM 11.1.2.4,即基础服务、Essbase 和财务报告。我使用的数据库是 SQL Server。

CentOS 不是 Oracle HTTP 服务器官方支持的操作系统,因此我继续使用 Weblogic HTTP 服务器。

一旦我启动 weblogic 服务器并启动所有 EPM 服务,当我登录到 weblogic 服务器管理控制台时,我发现我的基础服务服务器处于管理状态

此外,当我登录到我的 Oracle Fusion 中间件时,我可以看到我所有的基础服务和财务报告服务器都关闭了。

因此我无法访问工作区、计算管理器等服务器。

但是我的服务器很少启动并处于运行状态,例如 APS、CALC、EAS、EPMAWEBTIER。但我只能访问 Essbase。

我要求您检查所附图像。

Oracle Weblogic 管理控制台

Oracle 融合中间件

  1. 如何访问这些服务器?

  2. 我是否因为我使用 weblogic HTTP 服务器而不是 Oracle HTTP 服务器而遇到了这么多麻烦?

0 投票
1 回答
145 浏览

angular - file.html 中的 Angular 插入服务

我正在使用 Angular 7(有一天我必须升级我的版本)。我有一项服务,其中一些变量可以根据某些变量Promise(http GETPUT、 ... 响应)而改变。

我希望在模板上打印这些变量。

我可以这样做:

app.component.html:

app.service.ts:

我希望使用服务,因为算法等于另一个组件,但他们看不到其他组件的变量。因此,我不能将订阅与 Behavior Subject 和 Observable 一起使用:

有没有更好的解决方案?

0 投票
0 回答
30 浏览

angular - 如何在角度共享服务中的不同组件之间共享数据

我想使用共享服务将数据从仪表板组件共享到导航栏组件,如下所示。

shareddata.service.ts

仪表板.component.ts

navbar.component.ts

我将在导航栏的 html 文件中使用上述仪表板数据作为

navbar.component.html

对于复选框选择,我在仪表板组件文件中使用了 onchange 函数,我必须在导航栏组件中使用它。

仪表板.component.ts

我的要求是来自仪表板组件,我必须与共享数据服务共享数据到导航栏(用于选择复选框,即切换复选框)。

上面的代码我已经使用但不适合我,任何人都可以帮助我解决这个问题。

0 投票
2 回答
70 浏览

angular - 如何区分共享服务与 Angular 6+ 中的其他服务?

我曾经听说过使用共享服务在 Angular 中的非相关组件之间共享数据的术语。但是每个服务是否都是共享服务?如果是,那么它与共享服务有何不同?