问题标签 [angularjs-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.
javascript - AngularJS:持久实体(JSON 对象)
我主要是 C# 和 Java 开发人员。JavaScript 和 AngularJS 的新手。
我正在开发一个网络应用程序,我想以下列方式构建应用程序:
最顶层:视图和控制器(JavaScript)
下一层:一个模型层,它从 web 服务中获取信息,(持久地)存储它,以便控制器可以随时访问它。(JavaScript)
WebService : 返回 JSON 对象 (PHP)
数据库(MySQL)
我的问题是关于第二层。有没有办法用角度工厂/服务(或其他任何角度)来实现我想要的,而不将信息存储在全局变量中?
例如,我想要一个员工工厂/服务,我可以通过传递员工 ID 从控制器初始化。这将调用相应的 web 服务端点,然后存储 web 服务返回的 JSON 对象。然后我希望能够将此员工工厂/服务注入到我想要的任何控制器中,并访问员工姓名、员工年龄等数据。
任何帮助将不胜感激。
如果您的建议不需要伪造的 JavaScript 类,我将不胜感激。当我试图将“函数视为对象”时,我会感到头疼。
谢谢你。
javascript - 将大量信息与控制器(AngularJS)隔离到工厂中
我对 Angular 有点陌生,所以我不太确定在编写具有此类功能的应用程序时的标准是什么。
我有一些需要在控制器之间共享的功能和内容,所以我将它们隔离到一个工厂中,这样控制器就可以彼此独立地运行。
但后来我意识到,如果不是所有这些少数控制器的逻辑和内容,大部分(如果不是全部的话)都是需要共享的内容的一部分。现在,我最初创建的用于处理逻辑的控制器(在意识到我需要隔离它们的信息之前)是空的。
我转移的一些函数只是将传入的值保存到不同的变量中,这些变量可能是特定于控制器的,不会影响依赖注入,但由于它们在工厂处理大量信息,我认为这样会更容易只需将它们保留在那里,而不是将一些小函数和变量移回控制器。所以现在我有两个空控制器,我不妨删除它们。
我的问题:在这种情况下,您需要共享信息,否则这些信息将被隔离到自己的控制器中,最好简单地拥有一个与某些控制器进行最少对话以共享数据的工厂,但拥有所有的逻辑和工厂内部的数据本身?或者最好指定控制器来保存特定逻辑的一小部分,尽管它无论如何都从工厂获取大部分数据。
即使手头的问题不需要它们,使用控制器来备份我的工厂是否更好?
angularjs - 工厂中的AngularJS $rootScope - 重新加载数据
我有一个工厂调用 $resource。完全刷新应用程序后,这将按计划工作。但它不会在整个导航应用程序过程中再次调用资源。理想情况下,我希望每次从控制器调用工厂时调用 $resource。
这是我的控制器:
angularjs - 获取:未定义不是从 web-api 获取集合的功能
我有一个在 Get上返回的web api 。IHttpActionResult(myCollection)
我的 Angular JS控制器有一个功能:
我在 Angular JS中的服务如下:
我的 serviceHelperSvc 如下:
当我尝试运行它时,我得到 undefined is not a function atmySvc.getCollection().then(function(myCollection)
之前then(function(myCollection)
。
当我尝试使用延迟承诺方法时,我在同一个地方得到一个异常说$promise is not defined
javascript - AngularJS工厂信息不一致
我有一个包含对象数组的工厂。每个对象都包含有关员工的信息,如下所示:
数据工厂:
我正在尝试根据使用应用程序的人选择的用户在名为 CurrentUser 的工厂中设置一个值。
当前用户:
HTML:
但是,有了这个,没有名称值。选择名称后不会显示“john smith”。
当我将其保留为 CurrentUser.user 时,它不会显示用户的整个对象,而是显示 indexVal。
如何让它显示名称?
angularjs - Failed to instantiate module in angular js
UserServices.js
UserCtrl.js
javascript - AngularJS:$http成功回调中的范围问题
我正在使用 PHP 将数据获取到我的工厂,这在控制器内的成功回调函数中正确显示。但是,即使在将返回的数据分配给 $scope.customers 之后,如果我在回调之后执行 console.log($scope.customers),它也不存在,并且我的视图的 [ng-repeat] 也没有拾取它。
如果我将返回的数据分配给我的 $scope 对象,知道为什么我的数据范围会被限制在成功回调内吗?
javascript - 将输入字段值传递给 angularjs $resource undefined 并且错误显示未知范围提供程序
==================================================== ==========================
更新 1 固定代码产生新的错误
线上
下面是新代码
我想知道我哪里弄错了?
谢谢
angularjs - AngularJS:工厂应该返回定义对象还是函数?
AngularJs 官方的 Directive 开发人员指南 ( https://docs.angularjs.org/guide/directive ) 在创建指令部分中建议:
“最佳实践:更喜欢使用定义对象而不是返回函数。 ”
我无法与此声明联系起来。这样做有什么好处?请任何人都可以为我简化这个。
javascript - $routeParam 不通过带有 $resource factory 的 url 传递变量
代码
数据(当 myvar=1066 时来自http://123.com/processor-url.php )
我使用这段代码 + 假设是 myvar=1066 结果的数据运行。会有错误
在哪里
我想知道错误在哪里?正如我在控制器本身内注入 Greeter 一样。
==更新 1]===
我通过将所有 routeParam 修复为 routeParams 来更新代码。
先前的错误已解决。但是,现在错误变为
我可能以错误的方式使用 routeParams?因为我想做的是我假设 routeParams 将是 1066 的值,因为这就是“/”符号之后的值。我理解它的功能有错吗?
谢谢