问题标签 [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.
javascript - AngularJS 哲学 - 控制器作为服务的“窗口”
抱歉标题含糊;
我一直在重组我的一些 AngularJS 代码,试图让它更加“Angular”,我注意到这种模式出现了很多:
基本上,控制器主要用于为范围提供对服务的引用,以便视图可以使用它,例如
因此,我有很多控制器,它们仅依赖于某些共享数据或服务,并用于通过范围对那些可用的服务进行引用。
使用这种设计有什么缺点吗?我可以改善我的想法吗?这是“角度”的方式吗?
感谢您的任何建议!
angularjs - Angularjs:使用 $resource 传递令牌?
我正在尝试使用带有我的 $resource 请求的标头传递令牌。通常您可以执行以下操作
在.config中,但是当应用程序第一次引导时我不知道这些,所以我想我会做以下事情......但它目前没有通过我的标题..
目前令牌是硬编码的,但一旦我确认它工作,那么它将来自持有令牌的注入服务。
如果我检查提琴手,我在我的请求中看不到接受或授权标头。
我确实在提琴手中看到了消息,但没有看到我期望的标题。
我在这里错过了什么吗?
有任何想法吗?
谢谢
angularjs - AngularJS:在没有 $http 的情况下提供异步 AJAX 请求的正确方法是什么
假设我们有一些从服务器获取数据的服务。它是异步的,不使用 AngularJS $http 服务。
当我们在 Angular 中处理异步的东西时——我们使用$q
Promise。但是有一个问题:promise 只有在$digest
.
有两种可能的方法来修复它:
1)$timeout
2)$rootScope.$apply()
在 AngularJS$http
服务中使用了第二个变体。
两者之间的区别是什么以及做这些事情的正确方法是什么?
您可以尝试这两种方法:http: //jsbin.com/otakaw/3/edit
javascript - 从简单的 js 代码调用 angularjs 服务
我有以下 angularjs 服务:
如何从旧版 js 代码中调用GetName
函数?MyService
post - angular.js $http(或$resource)POST和transformRequest作为服务的请求示例
使用 angular 1.1.5 并且需要将 urlencoded 数据传递到后端。我已经从这里得到了这个解决方案: 如何将数据作为表单数据而不是请求有效负载发布?
我已经成功地将它嵌入到我的控制器中,但“更清洁”的方法是使用服务,并使用 $resource 而不是 $http 对象。在本主题的 1.1.2 之后可以将 transformRequest 与 $resource 一起使用: $resource transformResponse not working 但我找不到任何工作示例。任何人都可以提供上述解决方案的示例作为使用 $resource 的服务对象吗?
angularjs - 在使用 couchpotato 注册的工厂中使用 angularjs 服务($cookies)
我正在使用 angularjs 和 couchpotato 来帮助延迟加载。我的问题是如何在使用 couchpotato 注册的服务中引用 angularjs 服务,例如 $http、$cookies?
正常的angularjs方式:
如何使用 angularjs 和 couchpotato.js 完成上述操作?以下是我对沙发土豆的服务:
当然上面的方法是行不通的,因为我在工厂里没有提到 $cookies 。
尽管上面的示例是特定于 $cookies 的,但它与所有 Angular 服务相关,例如 $http、$rootScope 等。
链接到 couchpotato.js:LINK
angularjs - ng-repeat 不使用 $scope.$watch 更新
我需要一些帮助来显示来自 $watch 的 ng-repeat 指令中的更新结果
- ProductsCtrl 正在监视产品类型的变化,当它检测到一个变化时,它会搜索该类型的产品。
- 这肯定会检测到产品类型的变化,并且我从 updateProducts 函数中得到了结果,但我得到的产品没有显示出来。
- 我认为将 $scope.productService.products 映射到 ProductService.products 意味着它将自动更新。
我错过了什么吗?
谢谢你。
控制器.js
服务.js
html
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 选项请求?
angularjs - AngularJS:手动注册服务
我有一个包含多个小部件的页面。页面加载后,我得到一个包含 url 的小部件列表。然后我 ng-include url。
每个小部件都有自己的控制器,使用<script>
小部件 html 中的标签加载。由于小部件列表是动态的,因此我无法在页面加载时加载小部件 .js 文件。(当我这样做时,它工作正常。)我不断收到错误消息。
我正在尝试将 $http 调用包装在服务中,以使我的控制器单元可测试。
这是我的 HTML:
这是我的 fooWidget.js:(我Widgets
在页面加载时加载的文件中定义了一个模块)
我收到以下错误:
我预计会发生这种情况,因为我正在尝试在角度引导过程完成后定义服务。
如果有帮助,我可以做一个笨拙的人。
更新
感谢您到目前为止的回复。我创建了一个 plunker 来帮助说明我的问题:http ://plunker.co/edit/iKzwnlZ7bNDjmR05qGDC
我已经弄清楚如何手动注册控制器,并将其包含在 plunker 中。