我正在关注AngularJS官方文档中的教程,我想知道是否可以向Phone工厂添加另一个功能,以便更好地组织代码。他们已经声明了一个“查询”函数,但是如果我想添加一个引用不同URL的query2函数,该怎么办…例如说phone2
/:phoneName.json?
工厂声明:
var phonecatServices = angular.module('phonecatServices', ['ngResource']);
phonecatServices.factory('Phone', ['$resource',
function($resource){
return $resource('phones/:phoneId.json', {}, {
query: {method:'GET', params:{phoneId:'phones'}, isArray:true}
});
}]);
我已经尝试了许多方法,但似乎都没有用:
这个答案似乎在正确的轨道上,但是每个工厂函数的语法与上面的工厂不太匹配。
类似于以下内容:
phonecatServices.factory('Phone', ['$resource',
function($resource){
return {
query: ...
query2: ...
}
}]);
这样的一个例子是: 演示链接
angular.module('services', []).factory('factoryName', ["$filter",
function($filter) {
var method1Logic = function(args) {
//code
};
var method2Logic = function(args) {
//code
};
return {
method1: method1Logic,
method2: method1Logic
};
}
]).controller('MainController', ["$scope", "$rootScope", "$filter", "factoryName", function ($scope, $rootScope, $filter,factoryName) {
$scope.testMethod1 = function(arg){
$scope.val1 = factoryName.method1(arg);
};
$scope.testMethod2 = function(arg){
$scope.val2 = factoryName.method2(arg);
};
}]);
甚至有这样一个更好的版本固执己见版
function AnotherService () {
var AnotherService = {};
AnotherService.someValue = '';
AnotherService.someMethod = function () {
};
return AnotherService;
}
angular
.module('app')
.factory('AnotherService', AnotherService);
问题内容: 在一些示例之后,似乎我们可以注入一个工厂,其中包含一个REST服务的终结点,如下所示 这看起来不错,但可以想象我还有其他端点,即/ users /:id和/ groups /:id,因为您可以想象到不同端点的数量将会增加。 因此,对于每个终结点,都有一个不同的工厂,这是一个好习惯。 还是有另一种推荐的方法? 我确实没有发现任何问题,但是它迫使我创建许多工厂来处理不同的端点。 确实需要任
所以我试着把我的脑袋绕在构造函数、工厂函数、IIFE、闭包、模块模式的概念上,但我发现我在什么时候应该使用哪一个真的很困惑。引起我注意的是,工厂功能和模块模式真的很相似,举个例子: 有人能告诉我实际的区别是什么吗?感谢任何帮助!
问题内容: 我是AngularJS的新手,觉得很有趣,但是对于以下情况我不太清楚。 我分配并使用返回数据时遇到错误,无论如何我可以将返回数据分配给吗? 问题答案: 您通常不在工厂,服务或提供商内部使用。通常,您将返回(由返回),然后在控制器(您确实有)中处理promise 。 控制器功能:
问题内容: 我一直在做很多工作,总的来说,我发现它是一个有趣而强大的框架。 我知道关于服务,工厂,提供者,价值的讨论很多,但是我对“什么是”仍然很困惑。 在其他StackOverflow讨论中,工厂定义如下: 工厂名称 语法:结果:在将factoryName声明为可注入的参数时,将为您提供通过调用传递给module.factory的函数引用而返回的值。 我发现很难理解这种解释,也并没有增加我对工厂
问题内容: 我试图了解Angular中工厂和服务的概念。我在控制器下有以下代码 此代码可以正常工作。但是,当我将$ http服务移入工厂时,我无法将数据返回到控制器。 使用工厂有什么好处,因为$ http即使在控制器下也可以工作 问题答案: 将服务移出控制器的目的是实现关注点分离。服务的工作是知道如何与服务器通信,而控制器的工作是在视图数据和服务器数据之间转换。 但是,您会混淆异步处理程序以及返回