问题标签 [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.
angularjs - angularjs $resource 非回调模式不起作用
我发现来自 angularjs 网站的文档说我可以在我的工厂做这样的事情:
然后在我的控制器中我做:
但不知何故,当数据正确返回时,angularjs 并没有填满范围模型。
我确实尝试过:
这是可行的,但我想做一些事情来将部分返回的数据分配给 specialProducts 而不是整个返回的数据(就像我在第一个代码示例return data.content的注释部分所做的那样)。那么我有什么想法可以使它起作用吗?
如果有一些很棒的 jsfiddle 示例。谢谢
php - 通过 php 将 MySQL 查询结果传递给 AngularJS
我需要在 mysql 数据库中计算一个表,为此我需要使用 php。我使用以下代码counttable.php
:
然后我的计划是使用以下 Angular 代码来获取结果:
在我的控制器中,我使用工厂的success
和error
功能来控制结果。
当我运行我的网页时,它会说“计数失败”。在控制台中。我尝试将 php$count
变量封装为 JSON json_encode
,但这只给了我一个空对象。我猜这可能有一个简单的答案,但我只是看不到它。
请帮助,任何答案都非常感谢!谢谢。
javascript - AngularJS:在 $http 调用后访问工厂中存储的数据
我正在尝试建立一个工厂来充当我的数据库模型的暂存区,以及一个用于执行基本 CRUD 调用的 api。我希望能够通过将数据存储在服务或工厂中来访问数据,并保留 api 方法,以便我可以在控制器中执行类似的操作。
目前我在控制器中使用这样的文件夹工厂。
我知道我可以在控制器中解决一个承诺,但是由于我正在处理的项目的大小,我喜欢在服务中访问文件夹模型的想法,而不必进行服务器调用来同步每次我做出改变时的数据。
我的问题是,在调用 Folders.get() 后,我无法保持文件夹对象持续存在。在我将 Folders.data() 作为空对象调用后,它总是会回来。
有没有办法将这些数据存储在工厂中,作为文件夹模型的最新表示,而不依赖于每次都访问服务器?
在 Rails 4 API 上运行 angular 1.2.3。
javascript - 角度工厂中的变量范围
我试图在我的角度工厂的返回语句中更改文件夹变量(一个数组),但它似乎只适用于我编写的创建操作。我想我不了解变量范围在工厂中的工作方式。
这有效:
但是...当我使用 underscore.js 函数 _without (返回一个数组)时,它不会改变文件夹变量。
这是我的工厂代码:
create 函数返回一个更新的文件夹 var,但 destroy 函数返回一个未更改的文件夹 var。
angularjs - 如何访问注入工厂的 $scope?
假设我有一个名为的工厂MyFactory
,并将其注入到多个控制器中。如何访问工厂内的控制器范围?
我目前想到的唯一方法如下:
但是有没有其他方法可以让我直接返回{ }
而不是function($scope) { }
inMyFactory
并直接使用工厂 ( MyFactory.myPublicFunc
) 而不必使用new
关键字创建一个新实例并仍然访问每个控制器的 $scope?
angularjs - AngularJS:使在工厂内部使用 $http 接收到的数据可以在控制器内部访问
我有一个名为“Server”的工厂,其中包含我与服务器交互的方法(get/put/post/delete..)。当我的控制器中有所有代码时,我设法成功登录并获取所有数据。现在我想分离这段代码并稍微重组它,我遇到了问题。我仍然可以登录,也可以获取数据——但数据只是打印出来的;我不确定如何访问控制器中的数据?我在网络上到处都看到了一些“.then”而不是“.success”,但我不知道具体如何。
这是我的工厂:(包含在 services.js 中)
这是我的控制器:
如何获取在工厂中使用 $http 检索到的数据以在控制器中访问?我只有一个控制器。
感谢您的帮助,我相信一定有一种简单的方法可以做到这一点。还是我可能采取了错误的方法来解决这个问题?
编辑:例如,我还需要能够使用 ng-click 从视图中调用工厂函数。现在我可以这样做:
并使用 ng-click="updateContacts()" 在视图中进行调用。查看 $scope.contacts 如何在上述函数中获取新数据。我应该如何使用 .then 方法执行此操作?(将返回的数据分配给变量)
我的问题直截了当地问:
假设我需要将部分控制器代码与其分开(这样它就不会变得一团糟),比如在所有 $scope 中都可用的一些函数。在 AngularJS 中实现这一目标的最佳方法是什么?也许不是我想的服务……
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
然而,这并没有按预期工作。这是我得到的结果:
有任何想法吗。这是否可行。
javascript - 用 CoffeeScript 类风格编写 Angular 工厂
最近我正在尝试通过编写一个小应用程序来学习 AngularJs 和 CoffeeScript。
在阅读了一些博客之后,我可以使用 CoffeeScript 类风格编写 Angular 控制器和服务。以下是控制器的示例。
而且效果很好。
但是我无法使用 Coffee Class 样式成功转换 Angular 工厂。
这段代码是来自AngularJs官网的示例代码:http: //docs.angularjs.org/api/ngResource.$resource
谁能帮我把它转换成 CoffeeScript Class 风格?
javascript - AngularJS:工厂和控制器
我是 Angular 新手,我正在尝试按照https://github.com/angular-app/angular-app构建我的应用程序
问题是当我定义我的工厂和控制器时...... app.service
问题是控制器内部currencyService
未定义......知道为什么吗?
感谢任何可以提供帮助的人!!