2016-03-18 2 views
1

Это программа для поиска квадрата числа в angularjs.here с использованием сервисов и фабрик. Почему мы используем как здесь, так и почему нам нужно использовать сервисы и фабрики в этой программе?Почему мы должны использовать сервисы и заводы в этой программе?

var mainApp = angular.module("mainApp", []); 

    mainApp.factory('MathService', function() { 
     var factory = {}; 
     factory.multiply = function(a, b) { 
      return a * b 
     } 
     return factory; 
    }); 

    mainApp.service('CalcService', function(MathService){ 
     this.square = function(a) { 
      return MathService.multiply(a,a); 
     } 
    }); 

    mainApp.controller('CalcController', function($scope, CalcService) { 
      $scope.square = function() { 
       $scope.result = CalcService.square($scope.number); 
      } 
+0

Его от вас, хотите ли вы этот код в службе или на заводе или нормальной функции JS или угловой функции. Зависит от ваших требований. Однако услуги чаще всего используются для создания серверных вызовов. –

+0

Сервис и фабрики используются для совместного использования кода между контроллерами, которые он подключает к вашему приложению, если вашему контроллеру нужны некоторые общие данные, а затем использовать их в противном случае, игнорируя их. –

ответ

0

Надеется, что это объяснение помогает

Во-первыхам, сразу же скажу, что они в значительной степени эквивалентны. Почему же мы имеем их обоих? Это для богов Углового, чтобы знать. Они оба позволяют нам создать объект, который затем можно использовать в любом месте нашего приложения.

Важнейшим является осознание того, что оба являются одноточиями в вашем приложении, хотя название «фабрика» может означать по-разному.

По сути, фабрики - это функции, возвращающие объект, а службы - это функции-конструкторы объекта, которые создаются с помощью нового ключевого слова.

angular.module('app').controller('TheCtrl', function($scope, SomeService) { 
SomeService.someFunction(); 
}); 
Here is a matching factory: 

angular.module('app').factory('SomeService', function() { 
return { 
    someFunction: function() {} 
     }; 
}); 

Ref: http://www.codelord.net/2015/04/28/angularjs-whats-the-difference-between-factory-and-service/

Смежные вопросы