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

javascript - AngularJS 哲学 - 控制器作为服务的“窗口”

抱歉标题含糊;

我一直在重组我的一些 AngularJS 代码,试图让它更加“Angular”,我注意到这种模式出现了很多:

基本上,控制器主要用于为范围提供对服务的引用,以便视图可以使用它,例如

因此,我有很多控制器,它们仅依赖于某些共享数据或服务,并用于通过范围对那些可用的服务进行引用。

使用这种设计有什么缺点吗?我可以改善我的想法吗?这是“角度”的方式吗?

感谢您的任何建议!

0 投票
2 回答
2897 浏览

angularjs - Angularjs:使用 $resource 传递令牌?

我正在尝试使用带有我的 $resource 请求的标头传递令牌。通常您可以执行以下操作

在.config中,但是当应用程序第一次引导时我不知道这些,所以我想我会做以下事情......但它目前没有通过我的标题..

目前令牌是硬编码的,但一旦我确认它工作,那么它将来自持有令牌的注入服务。

如果我检查提琴手,我在我的请求中看不到接受或授权标头。

我确实在提琴手中看到了消息,但没有看到我期望的标题。

我在这里错过了什么吗?

有任何想法吗?

谢谢

0 投票
0 回答
320 浏览

angularjs - AngularJS:在没有 $http 的情况下提供异步 AJAX 请求的正确方法是什么

假设我们有一些从服务器获取数据的服务。它是异步的,不使用 AngularJS $http 服务。

当我们在 Angular 中处理异步的东西时——我们使用$qPromise。但是有一个问题:promise 只有在$digest.

有两种可能的方法来修复它:

1)$timeout

2)$rootScope.$apply()

在 AngularJS$http服务中使用了第二个变体。

两者之间的区别是什么以及做这些事情的正确方法是什么?

您可以尝试这两种方法:http: //jsbin.com/otakaw/3/edit

0 投票
4 回答
25556 浏览

javascript - 从简单的 js 代码调用 angularjs 服务

我有以下 angularjs 服务:

如何从旧版 js 代码中调用GetName函数?MyService

0 投票
1 回答
18676 浏览

post - angular.js $http(或$resource)POST和transformRequest作为服务的请求示例

使用 angular 1.1.5 并且需要将 urlencoded 数据传递到后端。我已经从这里得到了这个解决方案: 如何将数据作为表单数据而不是请求有效负载发布?

我已经成功地将它嵌入到我的控制器中,但“更清洁”的方法是使用服务,并使用 $resource 而不是 $http 对象。在本主题的 1.1.2 之后可以将 transformRequest 与 $resource 一起使用: $resource transformResponse not working 但我找不到任何工作示例。任何人都可以提供上述解决方案的示例作为使用 $resource 的服务对象吗?

0 投票
1 回答
1242 浏览

angularjs - 在使用 couchpotato 注册的工厂中使用 angularjs 服务($cookies)

我正在使用 angularjs 和 couchpotato 来帮助延迟加载。我的问题是如何在使用 couchpotato 注册的服务中引用 angularjs 服务,例如 $http、$cookies?

正常的angularjs方式:

如何使用 angularjs 和 couchpotato.js 完成上述操作?以下是我对沙发土豆的服务:

当然上面的方法是行不通的,因为我在工厂里没有提到 $cookies 。

尽管上面的示例是特定于 $cookies 的,但它与所有 Angular 服务相关,例如 $http、$rootScope 等。

链接到 couchpotato.js:LINK

0 投票
2 回答
2917 浏览

angularjs - ng-repeat 不使用 $scope.$watch 更新

我需要一些帮助来显示来自 $watch 的 ng-repeat 指令中的更新结果

  • ProductsCtrl 正在监视产品类型的变化,当它检测到一个变化时,它会搜索该类型的产品。
  • 这肯定会检测到产品类型的变化,并且我从 updateProducts 函数中得到了结果,但我得到的产品没有显示出来。
  • 我认为将 $scope.productService.products 映射到 ProductService.products 意味着它将自动更新。

我错过了什么吗?

谢谢你。

控制器.js

服务.js

html

0 投票
2 回答
1113 浏览

http - 如何在 AngularJS 中执行 HTTP 选项请求?

AngularJS 的 $http 服务不提供 HTTP 选项请求,我非常想拥有它们。

我使用 Django REST 框架创建了一个 Web API,并尝试在 AngularJS Web 应用程序中利用它为我提供的所有功能。我的 Django REST api 提供了大量来自 HTTP 选项请求的数据(例如,必填字段、通过超链接从何处获取连接数据等),我想在 Angular 应用程序中利用这些数据。

但是,AngularJS 的 $http 服务似乎不支持本机 Options 请求,这使得这是一个非常烦人的问题......我的意思是,如果它不是内置的,那么解决方法就不会很漂亮。

我尝试了 restangular: 绝对不是我需要的,因为它不允许我提供从 api 以 JSON 格式返回的超链接,如果我正在解析一个“id”的 URL,我会很生气——如果我已经有网址了。

我查看了 angular-django-rest 库:高度不受支持,无法让 PUT 为我的一生工作 b/c 只有一个 $save() 方法,它以某种方式自动选择 POST/PUT (?)。

所以,我很茫然!有谁知道如何在 AngularJS 中获取 HTTP 选项请求?

0 投票
2 回答
1422 浏览

angularjs - AngularJS:手动注册服务

我有一个包含多个小部件的页面。页面加载后,我得到一个包含 url 的小部件列表。然后我 ng-include url。

每个小部件都有自己的控制器,使用<script>小部件 html 中的标签加载。由于小部件列表是动态的,因此我无法在页面加载时加载小部件 .js 文件。(当我这样做时,它工作正常。)我不断收到错误消息。

我正在尝试将 $http 调用包装在服务中,以使我的控制器单元可测试。

这是我的 HTML:

这是我的 fooWidget.js:(我Widgets在页面加载时加载的文件中定义了一个模块)

我收到以下错误:

我预计会发生这种情况,因为我正在尝试在角度引导过程完成后定义服务。

如果有帮助,我可以做一个笨拙的人。

更新

感谢您到目前为止的回复。我创建了一个 plunker 来帮助说明我的问题:http ://plunker.co/edit/iKzwnlZ7bNDjmR05qGDC

我已经弄清楚如何手动注册控制器,并将其包含在 plunker 中。

0 投票
3 回答
3412 浏览

angularjs - 服务应该暴露它们的异步性吗?

我正在编写一个将异步检索数据的服务($http 或 $resource)。我可以通过返回一个最初为空但最终会被填充的数组来隐藏它是异步的事实:

或者我可以通过返回一个承诺来暴露异步性:

Plunker - 如果有人想玩弄上述两种实现。)

暴露异步性的一个潜在优势是我可以通过向方法添加错误处理程序来处理控制器中的错误then()。但是,我可能会在应用程序范围的拦截器中捕获和处理 $http 错误。

那么,什么时候应该暴露服务的异步性呢?