Я хотел бы проиллюстрировать простые вещи на простых примерах:)
Вот очень простой пример Service
:
angular.module('toDo',[])
.service('dataService', function() {
// private variable
var _dataObj = {};
// public API
this.dataObj = _dataObj;
})
.controller('One', function($scope, dataService) {
$scope.data = dataService.dataObj;
})
.controller('Two', function($scope, dataService) {
$scope.data = dataService.dataObj;
});
И вот очень простой пример Factory
:
angular.module('toDo',[])
.factory('dataService', function() {
// private variable
var _dataObj = {};
// public API
return {
dataObj: _dataObj
};
})
.controller('One', function($scope, dataService) {
$scope.data = dataService.dataObj;
})
.controller('Two', function($scope, dataService) {
$scope.data = dataService.dataObj;
});
И здесь jsbin
Если это слишком просто, здесь является более сложным примером
Также см. Ответ здесь для комментариев о соответствующих рекомендациях
в документах говорится, что
, Если обеспечено, при солении времени
__reduce__()
будет назван без аргументов, и оно должно возвратить или строку или кортеж.
, С другой стороны,
иногда полезно знать версию протокола при реализации
__reduce__
. Это может быть сделано путем реализации метода, названного__reduce_ex__
вместо__reduce__
.__reduce_ex__
, то, когда это существует, называют в предпочтении более чем__reduce__
(можно все еще обеспечить__reduce__
для назад совместимости).__reduce_ex__
метод назовут с единичным целочисленным аргументом, версией протокола.
На держащей руке, Guido говорит , что это - область, которая могла быть очищена.
__reduce_ex__
то, чем __reduce__
должен был быть, слишком никогда не становился. __reduce_ex__
работы как __reduce__
, но протокол рассола передается.