Это было решено с использованием службы, а не фабрики, как описано на плунжере: http://plnkr.co/edit/uh23lrXz2mI4ukvJvxws?p=preview, предоставленной компанией @Incognos. Принятый ответ был @Tomislav, как он впервые упомянул об использовании сервиса.Услуги Angular.js
Я создал контроллер для обработки сохраняет элементы, они хранятся как такие (удалены повторений, чтобы сэкономить место здесь):
'use strict';
angular.module('angularStoreApp')
.controller('storeCtrl', function($scope){
$scope.product = {
items: [
{
qty: 0,
stock: 5,
price: 99.00,
name: 'Almond Toe Court Shoes, Patent Black',
category: 'Womens Footerwear'
}
]
};
});
Мне нужно создать службу для хранения этих данных так к нему можно получить доступ с другого вида/контроллера. (Это будет последняя страница корзины). Я попытался использовать .factory, затем в контроллере $ scope.products = serviceName.items; но безрезультатно. Я также добавил эту услугу через контроллер. Мне дана ошибка инжектора: modulerr.
Чтобы уточнить, услуга я создал это то этот
var app = angular.module("angularStoreApp", []);
app.factory("StoreService", function() {
var products = {
items: [
{
qty: 0
}
]
};
return products;
});
Контроллер как таковой:
'использовать строгое';
angular.module('angularStoreApp')
.controller('storeCtrl', function($scope, StoreService){
$scope.product = StoreService.items;
});
я застрял на том, как поместить свои данные из исходного контроллера на службу, а затем вводит услугу в контроллер для отображения элементов еще раз. Чтобы отметить, НЕ используя службу, данные отображаются в представлении отлично.
Чтобы расширить это. Службы являются «новыми», и тот же экземпляр сохраняется. Заводы просто возвращают функцию так, как она есть каждый раз, поэтому вы можете называть ее «самостоятельно», если хотите. – Seer
@ Томислав, спасибо за это. Хотя, чтобы быть ясным, мне нужны данные, например qty, которые нужно сохранить, поэтому я могу использовать это в другом представлении позже, например, в тележке. Я вижу, что данные хранятся в контроллере? Поправьте меня, если я ошибаюсь, я новичок в угловой. –
Он хранится в течение всего жизненного цикла страницы wab, а не в контроллере, а в сервисе. Вы можете ввести эту услугу позже в любом другом контроллере – Tomislav