问题标签 [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 投票
2 回答
3604 浏览

c# - 使用共享服务的示例。棱镜

我有 5 个模块,我正在使用EventAggregator模式在模块之间进行通信。在我看来,我的代码变得丑陋,在我的项目中使用EventAggregator是糟糕的设计。

模块间通信的三种方式:

  • 松耦合事件
  • 共享服务
  • 共享资源

我想了解更多关于共享服务通信的信息。我发现了一篇关于Prism ToolKit 中的 StockTrader 应用程序的文章。

是否有一些在 Prism 中使用共享服务的更轻量级和更清晰的示例,可以看到使用共享服务的模块之间的对话?(可下载的代码将不胜感激)

0 投票
3 回答
243 浏览

javascript - 为什么我的共享服务没有跨组件更新?

在我的 Angular2 应用程序中,我正在引导一个LocalStorage我希望在我的组件之间共享的身份验证服务:

LocalStorage定义如下:

但是,问题是,当我跨组件共享和更新它时,只有更新它的组件才能识别更改。它被注入到组件中并像这样编辑:

为什么似乎跨组件创建了该服务的多个实例?谢谢。

编辑组件模板绑定的示例是:

零件:

模板:

最终编辑

好吧,这很尴尬,在实际编辑服务中的用户名之后,它现在可以工作了:

很抱歉浪费了大家的时间。再次感谢。

0 投票
1 回答
190 浏览

cakephp-3.0 - 实时共享服务器上的 cakephp 3 国际 PHP 扩展

我有 cakephp3 应用程序,并且intl PHP extension共享服务器不支持其他安装要求iPageHostgator
是否有一些替代方案或在共享服务器上运行 cakephp3 以及这intl PHP extension到底在做什么。

0 投票
3 回答
144 浏览

angular - angular2单例替代品

想象一下下面的情况。组件 A 更新服务 A 中的数组 A。组件 B 使用/读取服务 A 中的数组 A。如果我想通知组件 B...当组件 A 更新数组时,我可以使用单例,但我的感觉。 ..(来自 C# + MVVM 背景)单例服务将是矫枉过正,因为这仅由应用程序中的这两个组件使用。

是否有替代方案,或者我应该继续创建单例服务?

任何建议表示赞赏,

谢谢,

0 投票
1 回答
386 浏览

angular - Angular2(最终版本)组件无法通过服务中的 observable 进行通信

我正在使用Angular v2.1,我正在尝试让组件通过共享服务发送消息。

我想首先将数据从第一个组件company.component.ts发送到第二个组件modal.component.ts

我不知道问题出在哪里(如果是在发送或接收数据时)。当我调试接收数据时,我发现了一个订阅者对象:

modal.service.ts

在第一个组件中company.component.ts

在第二个组件中modal.component.ts

0 投票
0 回答
87 浏览

angular - Angular2:仅在多模块化 angular2 应用程序的根模块中添加观察者不起作用

在我的项目中,我有多个模块,并且我创建了一个在实用程序模块中可用的共享服务。服务如下:

该应用程序的地图如下: 应用流程

实用程序模块如下:实用模块

在 Home 模块的根组件中放置以下代码:-

在组件的 ts 文件中完成以下代码:

在 Html 文件中,代码如下:

当在只有一个根模块的单模块应用程序中实现时,上述事情工作正常,但在这个多模块应用程序中,事情不起作用。

现在其他模块中的组件将根据需要加载到该组件中。

在当前应用程序中,如果我在每个子模块的根组件中添加可观察代码,但这将需要在每个子模块中添加 html 拦截器。

所以我需要一个解决方案,它可以帮助我在实用程序模块中只有一个 HTML 拦截器,而在应用程序的根模块中只需要一个 observable

0 投票
3 回答
430 浏览

angular - Angular2试图在填充数组之前获取数组中的项目

我有一个Angular2服务如下。我正在尝试将其用作多个组件之间的共享服务。如果重要,组件直接绑定到public booksselectedBook properties我想在服务上缓存书籍列表和当前选择的书籍,并且只在第一次调用时调用填充这些。

问题是有时我试图在setSelecteBook(id)实际填充数组之前读取数组或调用,这会导致崩溃。我一直在尝试找到一个如何使用 Observables 的示例,但我找不到足够接近我的场景来弄清楚如何调整它来解决我的问题。

0 投票
2 回答
3125 浏览

angular - Angular - 组件之间的共享服务不起作用

我有一个服务,我声明我的变量。在我的组件中,我使用此变量将数据放入其中。

服务:

现在我在我的组件中使用这个变量:

我只发布了必要的代码this.dataService.msgs。充满消息的 het 工作正常。当我到达另一个组件时,this.dataService.msgs 的数据仍然存在,但是当我返回时Messagescomponentthis.dataService.msgs直到undefined我再次填充它,但我需要其中的数据。有人知道该怎么做吗?

谢谢

0 投票
2 回答
130 浏览

angular - 如何通过 Angular 中的共享服务在 AppComponent 的 2 个直接子组件之间进行通信?

所以我已经阅读,但没有找到解决我的问题的方法。我的问题正如我的标题所要求的那样。

这是我的问题,我创建了 2 个组件(NavbarComponent 和 HomepageComponent)。NarbarComponent 嵌套在 AppComponent 中并处理身份验证,而 HomepageComponent 是启用路由的组件和应用程序的默认页面。

我想要做的是能够使用像 Auth0 这样的身份验证服务通过单击导航栏中的登录按钮(NavbarComponent)来对用户进行身份验证,然后在主页(HomepageComponent)上呈现他/她的个人资料。反之亦然,当我单击注销按钮时,应该删除用户的个人资料内容。

我尝试配置一些架构,但无济于事。首先,我尝试使用共享服务将 NavbarComponent 转换为 HomepageComponent,但它仅在重新加载页面时更新 HomepageComponent。

我尝试在 AppComponent 和 NavbarComponent 之间使用共享服务,然后使用@Input()从父级传输到子级,即 HomepageComponent。

然后我在 AppComponent 和 HomepageComponent 之间运行共享服务时尝试了从 NavbarComponent 到 AppComponent 的@Output()和 EventEmitter。

任何信息或见解将不胜感激!!

更新

主页组件

我试着在这里做一个plunker。我无法加载它,但它确实包含大部分代码和 AuthService 的模拟。

0 投票
0 回答
189 浏览

javascript - 无法将数据从共享服务获取到角度 2 中的组件

在我们的 Angular 2 项目中。我正在尝试使用共享服务在两个组件之间进行通信。

我们有一个BotData.SharedService.ts这样的文件:

在这里,我们使用this._sharingData.next(userData);inside传递数据saveData(userData)。因此,相同的数据应在内部可用getData()。但是,当我们这样做时,会console.log('get data function called' + JSON.stringify( this.sharingData )给出undefined.

因此,botdataservice.getData()正在打破内部组件:

这里的解决方法是什么?