Javascript 使用两个工厂AngularJS
我想知道在AngularJS中使用两个工厂是否适用,基本上从另一个工厂调用一个工厂 考虑以下情况: 我有一个工厂返回一个数组。此工厂应验证填充此数组的数据是否已在本地SQL存储中 如果TRUE则将此数据返回给我的控制器 如果FALSE则应该调用另一个工厂,该工厂使用RESTful API中的数据。然后将该数据写入WebSQL数据库,最后返回该数据Javascript 使用两个工厂AngularJS,javascript,angularjs,factory,Javascript,Angularjs,Factory,我想知道在AngularJS中使用两个工厂是否适用,基本上从另一个工厂调用一个工厂 考虑以下情况: 我有一个工厂返回一个数组。此工厂应验证填充此数组的数据是否已在本地SQL存储中 如果TRUE则将此数据返回给我的控制器 如果FALSE则应该调用另一个工厂,该工厂使用RESTful API中的数据。然后将该数据写入WebSQL数据库,最后返回该数据 此设计是否遵循标准软件模式?我很难将AngularJS技术应用到我的项目中。两个工厂使用彼此的服务没有问题。两个工厂使用彼此的服务没有问题。将一个服务
此设计是否遵循标准软件模式?我很难将AngularJS技术应用到我的项目中。两个工厂使用彼此的服务没有问题。两个工厂使用彼此的服务没有问题。将一个服务/工厂/提供商注入另一个工厂是完全可以的 以下是一个很好的答案,何时使用哪一个-
在这个特殊的场景中,我将使用您的服务作为SQL服务和API服务。控制器只注入SQL服务并将数据发送到那个里。SQL服务然后决定如何处理数据,如果需要,它会从API服务请求额外的数据,API服务应该首先返回承诺,然后在解析时返回数据。当SQL服务完成时,它将数据独立地返回给控制器,不管它是否调用了API服务。同样,更倾向于使用承诺模式。控制器根本不需要了解API。将一个服务/工厂/提供者注入到另一个服务/工厂/提供者中完全可以 以下是一个很好的答案,何时使用哪一个-
在这个特殊的场景中,我将使用您的服务作为SQL服务和API服务。控制器只注入SQL服务并将数据发送到那个里。SQL服务然后决定如何处理数据,如果需要,它会从API服务请求额外的数据,API服务应该首先返回承诺,然后在解析时返回数据。当SQL服务完成时,它将数据独立地返回给控制器,不管它是否调用了API服务。同样,更倾向于使用承诺模式。Controller根本不需要了解API。AngularJS附带了一个内置的依赖注入机制,它是关于共享资源的,就像在您的情况下,您希望两个工厂相互使用一样。我在这里举一个简单的例子来说明如何做到这一点 这是你的角稿
var app = angular.module('yiiframe-factoryApp', ['ngRoute']);
app.factory("myFactory1", function() {
return "Controller";
});
app.factory("myFactory2", function(myFactory1) {
return "factory" + myFactory1;
});
function factoryController($scope, myFactory2) {
$scope.ctrlName = myFactory2;
}
这就是你的观点
<div ng-app="yiiframe-factoryApp" class="container">
<div ng-controller="factoryController" class="page-content">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h3 class="modal-title">Angularjs Factory example</h3>
</div>
<div class="modal-body">
{{ctrlName}}
</div>
</div>
</div>
</div>
</div>
Angularjs工厂示例
{{ctrlName}
AngularJS附带了一个内置的依赖注入机制,它是关于共享资源的,就像在你的例子中,你想让两个工厂互相使用一样。我在这里举一个简单的例子来说明如何做到这一点
这是你的角稿
var app = angular.module('yiiframe-factoryApp', ['ngRoute']);
app.factory("myFactory1", function() {
return "Controller";
});
app.factory("myFactory2", function(myFactory1) {
return "factory" + myFactory1;
});
function factoryController($scope, myFactory2) {
$scope.ctrlName = myFactory2;
}
这就是你的观点
<div ng-app="yiiframe-factoryApp" class="container">
<div ng-controller="factoryController" class="page-content">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h3 class="modal-title">Angularjs Factory example</h3>
</div>
<div class="modal-body">
{{ctrlName}}
</div>
</div>
</div>
</div>
</div>
Angularjs工厂示例
{{ctrlName}
顺便说一句,我回答了“服务提供商vs.供应商vs.工厂”的问题:)顺便说一句,我回答了“服务提供商vs.供应商vs.工厂”的问题:)