问题标签 [angular-factory]
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.
angularjs - 可以在单个文件中编写多个 Angular 组件吗?
我即将编写一个通用的 Angular 模块,它可以在我的应用程序中用作即插即用模块。
我想要的是
我想将模块定义及其所有工厂、指令、常量放在一个 js 文件中,例如:
为什么,因为
每当开发人员想要使用我的模块时,他/她只需要调用一个 js 文件,只需将我的模块注入他们的模块中。
我的问题是什么
我已经阅读了John papa 的 Angular 1 good practice style guide,他告诉我在文件中定义单个组件是件好事,但在这里我做的正好相反,我该怎么办?
angularjs - 角工厂
有人可以告诉我下面的代码工厂部分有什么问题吗?我收到第三个控制台日志的错误消息。提前致谢。
jquery - Angular with Jquery - 如何将 jQuery 包含到工厂中并在多个控制器之间使用/共享该工厂?
我有一个更长的 jQuery 函数用于图片库滑块。我有大约 5 个指令(全部使用带有不同图片的相同滑块)。因为我不想将相同的 jQuery 代码复制粘贴到所有 5 个控制器中,所以我使用了工厂。我将 jQuery 代码放入工厂,然后在每个控制器中调用工厂。它不工作,但我不明白为什么。有谁知道吗?谢谢!编辑: Jquery 包含在角度和作品中!问题不在于 jQuery 本身,而在于工厂。如果我在所有控制器中一遍又一遍地使用相同的 jQuery 代码,它就可以工作。如果我把它放在工厂里,它就不能工作,并且可以把它放在控制器里。工厂:
第一条指令:
索引.html ...
...
angularjs - 如何在整个项目中使用 Angular 工厂数据
我有一个 Angular js factory
。成功登录后,我将用户信息存储在其中。现在我有多个controllers
我需要这个用户信息所以我需要inject
这个工厂到每个controller
. 有没有办法factory
在整个项目中访问这些数据而无需注入每个控制器?
我们可以直接inject
把它放进去module
吗?
api - 我可以在 angular2 应用程序中使用基于 angularjs 的(angular-footballdata-api-factory)吗?
我有一个基于 angularjs 的api-factory 我想在 angular2 应用程序中使用它。是否可以使用它,如果可以,那么如何使用。
angularjs - 使用工厂解析服务中的 REST API 响应
我已经使用 Angular.js 有一段时间了,但我偶然发现了一段代码,这是一位以前的开发人员在我正在从事的项目中编写的,我想知道它的用法是否正确,或者我们是否应该将调用重构为任何内容最好的做法是。
该应用程序非常简单:它是一个 REST API 使用者,它对来自 API 的一些资源提供基本的 CRUD 操作。问题是:API 不是严格的 REST;我的意思是,并非所有资源都可以作为独立对象获取并由应用程序直接使用,而是一些响应在其中包含嵌套对象,并且需要一些响应解析逻辑来适应应用程序使用的模型。端点可能返回的一个非常简化的示例可能是:
因此,我遇到的代码使用创建自定义承诺的端点,如下所示:
在这里,产品“对象”实际上是由以下工厂的链创建的:
通过创建自定义承诺$q.defer();
是必要的,因为我们需要将 API 的响应转换为前端可以理解和使用的对象。让我有点困惑的是工厂内部的 JSON 解析逻辑封装,该工厂在$http
调用成功回调时被实例化。
该解决方案对我来说似乎很简洁,而且效果很好,但是在服务中实例化工厂有些东西对我来说并不点击。
javascript - angularJs中控制器和服务之间的数据绑定
我想知道执行以下操作的正确方法,我有一个服务,一个工厂和一个控制器。
该服务有一个默认selectedTable
启动的属性,null
它用于存储选定的表,以便在工厂和控制器中使用;该服务还具有touches
在工厂和控制器中定期更新的属性,该服务如下所示:
工厂通过设置变量来使用服务,var data = tablesService.data
并有一个select
修改data.selectedTable
and值的方法data.touches
:
控制器查看每个onClick
事件的表列表,当它找到单击的表时调用它的select()
方法,即工厂中的方法,如果单击的表是 selectedTable,它会更改touches
变量,因此当select()
调用它的方法时,selectedTable
getnull
为新值。
问题是更改$scope.touches
不会更新服务中的变量,反之亦然,这也发生在 selectedTable 上,我尝试$watch
在两者上都使用$scope.touches
,$scope.tablesData.touches
但是$digest()
每次更改时该方法都不会启动,$scope.touches
所以我必须调用$apply()
which看起来很糟糕,并不能一直解决问题。
我的观察者看起来像这样:
阅读这篇文章http://kirkbushell.me/when-to-use-directives-controllers-or-services-in-angular/我发现我可以通过 $rootScope.$broadcast() 向应用程序广播事件,但我不确定如何实现它,也许这不是解决问题的最佳方法。
javascript - 如何从 Angular 中的 $q.defer().promise 返回集合?
角 v.1.6.1
我正在尝试使用 $q.defer().promise 返回一个集合,但我只得到一条记录,而不是从我的服务返回的两条记录。
该模型:
服务
视图方法
在视图内部,getUser 调用功能与预期相同,但 getUsers 仅从服务接收集合中的第一项。我已经验证 response.data 确实包含整个对象集合,并且这些对象被推送到 users 数组中。
即使调用 defer.resolve(response.data) 也只会发送集合中的第一项。
任何帮助表示赞赏!
angularjs - 为什么我们在 Angularjs 中使用工厂/服务进行 ajax 调用?
我被告知我们使用工厂/服务来消除重复编码。这是代码的一部分,它工作正常。
我的问题是 1. 当我们必须处理控制器内部的承诺时,为什么要使用服务/工厂来进行这样的 ajax 调用?我的意思是,我必须在这里的两个控制器中进行相同的 .then 和 .catch 调用。它的效率在哪里?有没有更好的方法来做到这一点?还是我做错了?是否可以在工厂内部处理这些承诺并将 response.data 返回给不同的控制器?
angularjs - ReST调用的angularjs工厂错误
我是 AngularJs 的新手,我正在尝试用 ngResource 编写一个工厂来进行 Rest 调用
这是我的代码
工厂
控制器 :
并在 HTML
我正在尝试返回工厂,但它仍然说“提供者'myFactory'必须从 $get 工厂方法返回一个值。”
请帮帮我。我会很感激