问题标签 [angularjs-service]

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 回答
38318 浏览

javascript - 创建通用控制器功能

如何创建可以从我的所有控制器访问的某种 utils 包?

我的主模块中有这个路由代码:

我想要一个可以与和通用HomeCtrl的功能。AdminCtrlMainAppCtrl

我应该如何在AngularJS中做到这一点?

0 投票
7 回答
98071 浏览

javascript - 将模拟注入 AngularJS 服务

我编写了一个 AngularJS 服务,我想对它进行单元测试。

我的 app.js 文件已注册以下内容:

我可以测试 DI 是这样工作的:

这证明了服务可以由 DI 框架创建,但是接下来我想对服务进行单元测试,这意味着模拟出注入的对象。

我该怎么做呢?

我试过把我的模拟对象放在模块中,例如

并将服务定义重写为:

但后者似乎完全停止了 DI 创建的服务。

有人知道我如何模拟单元测试的注入服务吗?

谢谢

大卫

0 投票
2 回答
3286 浏览

jquery - AngularJS 告密者服务

我在我的 web 应用程序中使用 Twitter Bootstrap 的 UI。特别是它的警报组件。我想编写一个简单的角度服务来包装 Bootstrap 的警报,以便有可能通知用户任何角度代码的和平。像这样:

我的想法是将模板附加到<body>

像这样的东西:

我唯一想知道的是:我如何用 Angular 而不是 jQuery 编写这个?上面的代码适合开始吗?互联网上的人说我应该使用指令进行 DOM 操作。但我不明白:我没有任何现有的标记来应用指令。由于某些计算/用户交互,警报将附加到页面。我应该使用哪些服务($compile, $parse, $document)来编译模板并将其附加到正文的某个位置?

编辑:是否也可以在控制器之外获得 angularjs 服务。只是在普通的 JS 代码中,所以我可以写getServiece("Informer").inform("", "")

编辑 2:好的,我现在拥有的:

使用此代码,我可以使用来自控制器的注入服务。但是当我尝试在角度代码之外调用服务时出现问题:

这显示弹出窗口,{{message}}例如它没有正确编译模板。

0 投票
3 回答
6454 浏览

ajax - AngularJS 结合 Web 服务响应

我有两个网络服务:

一个返回“文章”是这样的:

另一个返回一个像这样的“作者”,给定一个 id:

我想将两者结合起来,这样我就可以在文章概述列表中显示作者姓名和照片。

像这样:

我有一个获取文章的“文章”服务,但是在返回“文章”服务输出之前,使用类似“作者”服务中的作者信息丰富返回的 JSON 的最佳方法是什么?

还请告诉我这是否是完全错误的方法。:)

0 投票
3 回答
20500 浏览

javascript - AngularJS,这种使用服务的方式好吗?

我有这个 HTML:

控制器是:

该服务工作正常,所以我不在这里粘贴代码......在这种情况下,结果是“ Hello world! ”我以这种方式更改了 HTML:

但这不起作用。

我改变了控制器:

然后是 HTML

这行得通!

所以我的问题是:

这是直接在 HTML 中使用服务功能的唯一方法,还是我遗漏了什么?

0 投票
4 回答
208 浏览

javascript - 这个服务声明方法有什么区别?

声明服务的最佳方式是什么我发现这两种不同的方式我似乎看不出区别:第一种方法:

第二种方法:

哪个更好,为什么?提前致谢。

0 投票
1 回答
602 浏览

javascript - 在控制器中的 promise 对象上调用 $filter 的正确方法?

我有这个用于分页的分叉代码plunker,它工作正常,但是在我进行一些调整以使其从 Json 文件中获取数据后,它停止工作。
要查看代码工作注释行:[13、14、15],然后取消注释行:[16 -> 37]。
该错误是关于 $filter 函数的问题,它在从 Json 文件中获取数据时返回 undefined 所以我认为因为该对象是一个承诺,现在破坏了 $filter 函数,我不确定。
错误发生在这 2 个函数中(使用 Json 调用):

错误信息:

TypeError:无法
          在           新的 controllers.MainCtrl(controllers
          .
js:99:10)

任何帮助提前感谢。

0 投票
2 回答
6488 浏览

angularjs - 在 AngularJS 服务之间共享数据

有没有办法在 AngularJS 中的服务之间共享数据?

用例:来自不同服务的数据聚合
例如,我想要一个从 REST 服务加载一些数据的 service1。然后另一个 service2 从另一个 REST API 将附加数据添加到 service1 数据以创建数据聚合服务。

我基本上想根据它们使用的 API 来分离服务,但最终仍然有一个服务来保存所有数据。

0 投票
1 回答
10724 浏览

angularjs - _servicename_ 中的下划线在 AngularJS 测试中是什么意思?

在下面的示例测试中,原始提供程序名称是 APIEndpointProvider,但对于注入和服务实例化,约定似乎是它必须用下划线包裹它来注入。这是为什么?

我缺少更好的解释的约定是什么?

0 投票
2 回答
238 浏览

javascript - 为什么我的视图中没有显示对服务 ($http) 中的变量的更新?

几个小时以来,我一直在解决这个问题,因此非常感谢任何帮助。

我有一个控制器,我在其中定义了一个变量(一个空数组):

plotData是我写的定制服务。它用于$http查询数据库,并检索我需要的数据。

问题是在控制器scope.myVar中没有改变。基本上我想做的是从指令更新控制器中定义的变量

我做错了什么?

更新:

@dogoku:据我所知,我不需要使用 $apply ,因为我使用的是仍在 Angular 中的 $http 。

@马克拉杰科克

0) 不,我使用的是真正的 $http 服务:

1)是的,我在代码注释中写道。data.plot 是我所期望的。后端代码效果很好,所以我没有发布它。

2)我会试试你的链接,让你知道。

同时,仍然欢迎任何帮助。