'daki denetleyicileri anlamıyorum Bu, sormama alışkın olduğum bir sorudur, ancak bunun neyle uğraştığımı anlamanın tek yolu olduğunu hissediyorum. Aşağıda gösterildiği gibi, app.controller()
ve app.factory()
olmak üzere iki işlev vardır, her ikisi de eşit görünse bile, fonksiyonun görevini yerine getirmediği halde, her ikisi de eşit görünüyor. plunker içinAngular JS
Bağlantı: click here
bu iki fonksiyon arasındaki fark nedir (İlgili dosya script.js olan), neden bunu ben bunlardan sadece bir tane var? Basit bir açıklama olması gerektiğini biliyorum. bir gerektiğinde
app.controller('MainCtrl', ['$scope', 'ItemsService', function ($scope, ItemsService) {
$scope.newItem = { PlateNumber: '', Description: '', Price: 0 };
$scope.currentItem = null;
$scope.items = ItemsService.getItems();
$scope.addItem = function() {
ItemsService.addItem(angular.copy($scope.newItem));
$scope.newItem = { PlateNumber: '', Description: '', Price: 0 };
};
$scope.updateItem = function (id) {
ItemsService.updateItem(id);
};
$scope.removeItem = function (id) {
ItemsService.removeItem(id);
};
}]);
vs
app.factory('ItemsService', ['$firebase', 'FIREBASE_URI', function ($firebase, FIREBASE_URI) {
var ref = new Firebase(FIREBASE_URI);
var items = $firebase(ref);
var getItems = function() {
return items;
};
var addItem = function (item) {
items.$add(item);
};
var updateItem = function (id) {
items.$save(id);
};
var removeItem = function (id) {
items.$remove(id);
};
return {
getItems: getItems,
addItem: addItem,
updateItem: updateItem,
removeItem: removeItem
}
}]);
değiller benzer görünüyor, sen açısal belgeler okuma denediniz? Bir denetleyiciniz olmalı, bir fabrikaya ihtiyacınız yok ... https://docs.angularjs.org/guide/providers daha fazla bağlantı: http://stackoverflow.com/questions/14324451/angular-service-vs- köşeli fabrika başka: http://jsfiddle.net/k3phygpz/ – JordanHendrix
Hizmetler tekil, kontrolörler değildir. Bu bir başlangıç. – Rob
En sevdiğiniz birini kullanın (bu durumda) – TGrif