สับสนเกี่ยวกับการบริการเทียบกับโรงงาน
อย่างที่ฉันเข้าใจเมื่ออยู่ในโรงงานฉันจะส่งคืนวัตถุที่ถูกฉีดเข้าไปในคอนโทรลเลอร์ เมื่ออยู่ในบริการฉันกำลังจัดการกับวัตถุที่ใช้thisและไม่ส่งคืนสิ่งใด ฉันอยู่ภายใต้การสันนิษฐานว่าการบริการเป็นแบบซิงเกิลเสมอและวัตถุโรงงานใหม่จะถูกฉีดเข้าไปในตัวควบคุมทุกตัว อย่างไรก็ตามมันกลับกลายเป็นว่าวัตถุในโรงงานเป็นซิงเกิลตันด้วยหรือไม่ รหัสตัวอย่างที่จะสาธิต: var factories = angular.module('app.factories', []); var app = angular.module('app', ['ngResource', 'app.factories']); factories.factory('User', function () { return { first: 'John', last: 'Doe' }; }); app.controller('ACtrl', function($scope, User) { $scope.user = User; }); app.controller('BCtrl', function($scope, User) { $scope.user = User; }); เมื่อมีการเปลี่ยนแปลงuser.firstในACtrlปรากฎว่าuser.firstในBCtrlนอกจากนี้ยังมีการเปลี่ยนแปลงเช่นUserเป็นเดี่ยวหรือไม่? ข้อสันนิษฐานของฉันคืออินสแตนซ์ใหม่ถูกฉีดเข้าไปในคอนโทรลเลอร์ที่มีโรงงานหรือไม่