问题标签 [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.

0 投票
1 回答
103 浏览

angularjs - angularjs $resource 非回调模式不起作用

我发现来自 angularjs 网站的文档说我可以在我的工厂做这样的事情:

然后在我的控制器中我做:

但不知何故,当数据正确返回时,angularjs 并没有填满范围模型。

我确实尝试过:

这是可行的,但我想做一些事情来将部分返回的数据分配给 specialProducts 而不是整个返回的数据(就像我在第一个代码示例return data.content的注释部分所做的那样)。那么我有什么想法可以使它起作用吗?

如果有一些很棒的 jsfiddle 示例。谢谢

0 投票
3 回答
2313 浏览

php - 通过 php 将 MySQL 查询结果传递给 AngularJS

我需要在 mysql 数据库中计算一个表,为此我需要使用 php。我使用以下代码counttable.php

然后我的计划是使用以下 Angular 代码来获取结果:

在我的控制器中,我使用工厂的successerror功能来控制结果。

当我运行我的网页时,它会说“计数失败”。在控制台中。我尝试将 php$count变量封装为 JSON json_encode,但这只给了我一个空对象。我猜这可能有一个简单的答案,但我只是看不到它。

请帮助,任何答案都非常感谢!谢谢。

0 投票
2 回答
8409 浏览

javascript - AngularJS:在 $http 调用后访问工厂中存储的数据

我正在尝试建立一个工厂来充当我的数据库模型的暂存区,以及一个用于执行基本 CRUD 调用的 api。我希望能够通过将数据存储在服务或工厂中来访问数据,并保留 api 方法,以便我可以在控制器中执行类似的操作。

目前我在控制器中使用这样的文件夹工厂。

我知道我可以在控制器中解决一个承诺,但是由于我正在处理的项目的大小,我喜欢在服务中访问文件夹模型的想法,而不必进行服务器调用来同步每次我做出改变时的数据。

我的问题是,在调用 Folders.get() 后,我无法保持文件夹对象持续存在。在我将 Folders.data() 作为空对象调用后,它总是会回来。

有没有办法将这些数据存储在工厂中,作为文件夹模型的最新表示,而不依赖于每次都访问服务器?

在 Rails 4 API 上运行 angular 1.2.3。

0 投票
1 回答
396 浏览

javascript - 角度工厂中的变量范围

我试图在我的角度工厂的返回语句中更改文件夹变量(一个数组),但它似乎只适用于我编写的创建操作。我想我不了解变量范围在工厂中的工作方式。

这有效:

但是...当我使用 underscore.js 函数 _without (返回一个数组)时,它不会改变文件夹变量。

这是我的工厂代码:

create 函数返回一个更新的文件夹 var,但 destroy 函数返回一个未更改的文件夹 var。

0 投票
1 回答
1031 浏览

angularjs - 如何访问注入工厂的 $scope?

假设我有一个名为的工厂MyFactory,并将其注入到多个控制器中。如何访问工厂内的控制器范围?

我目前想到的唯一方法如下:

但是有没有其他方法可以让我直接返回{ }而不是function($scope) { }inMyFactory并直接使用工厂 ( MyFactory.myPublicFunc) 而不必使用new关键字创建一个新实例并仍然访问每个控制器的 $scope

0 投票
2 回答
3655 浏览

angularjs - AngularJS:使在工厂内部使用 $http 接收到的数据可以在控制器内部访问

我有一个名为“Server”的工厂,其中包含我与服务器交互的方法(get/put/post/delete..)。当我的控制器中有所有代码时,我设法成功登录并获取所有数据。现在我想分离这段代码并稍微重组它,我遇到了问题。我仍然可以登录,也可以获取数据——但数据只是打印出来的;我不确定如何访问控制器中的数据?我在网络上到处都看到了一些“.then”而不是“.success”,但我不知道具体如何。

这是我的工厂:(包含在 services.js 中)

这是我的控制器:

如何获取在工厂中使用 $http 检索到的数据以在控制器中访问?我只有一个控制器。

感谢您的帮助,我相信一定有一种简单的方法可以做到这一点。还是我可能采取了错误的方法来解决这个问题?

编辑:例如,我还需要能够使用 ng-click 从视图中调用工厂函数。现在我可以这样做:

并使用 ng-click="updateContacts()" 在视图中进行调用。查看 $scope.contacts 如何在上述函数中获取新数据。我应该如何使用 .then 方法执行此操作?(将返回的数据分配给变量)

我的问题直截了当地问:

假设我需要将部分控制器代码与其分开(这样它就不会变得一团糟),比如在所有 $scope 中都可用的一些函数。在 AngularJS 中实现这一目标的最佳方法是什么?也许不是我想的服务……

0 投票
1 回答
1046 浏览

angularjs - 使用 AngularJS 动态(按需)加载工厂

按照 Dan Wahlin 关于动态加载控制器和视图的文章http://weblogs.asp.net/dwahlin/archive/2013/05/22/dynamically-loading-controllers-and-views-with-angularjs-and-requirejs.aspx,我编写了一个示例 AngularJS 应用程序,稍作修改如下。

例如,虽然 Dan 提前加载了数据服务(main.js),但我只会在控制器需要它时才加载工厂,如下所示:

main.js

数学服务.js

v2Controller.js

v2.html

然而,这并没有按预期工作。这是我得到的结果:

有任何想法吗。这是否可行。

0 投票
2 回答
3840 浏览

javascript - 用 CoffeeScript 类风格编写 Angular 工厂

最近我正在尝试通过编写一个小应用程序来学习 AngularJs 和 CoffeeScript。
在阅读了一些博客之后,我可以使用 CoffeeScript 类风格编写 Angular 控制器和服务。以下是控制器的示例。

而且效果很好。

但是我无法使用 Coffee Class 样式成功转换 Angular 工厂。

这段代码是来自AngularJs官网的示例代码:http: //docs.angularjs.org/api/ngResource.$resource

谁能帮我把它转换成 CoffeeScript Class 风格?

0 投票
3 回答
7788 浏览

javascript - AngularJS:工厂和控制器

我是 Angular 新手,我正在尝试按照https://github.com/angular-app/angular-app构建我的应用程序

问题是当我定义我的工厂和控制器时...... app.service

问题是控制器内部currencyService未定义......知道为什么吗?

感谢任何可以提供帮助的人!!

0 投票
3 回答
23839 浏览

angularjs - 我的 AngularJS 工厂可以有多个功能吗?

我正在关注官方 AngularJS 文档中的教程,我想知道是否可以向电话工厂添加另一个功能,以便更好地组织代码。他们已经声明了一个“查询”函数,但是如果我想添加一个引用不同 url 的 query2 函数……例如,phones2/:phoneName.json 怎么办?

工厂声明:

我已经尝试了很多东西,但它们似乎都不起作用:s

这个答案似乎在正确的轨道上,但是每个工厂函数的语法与上述工厂并不完全匹配。

类似于以下内容: