Denetleyiciler içinde bir hizmeti iletmeye çalışırken küçük bir sorun yaşıyorum.Köşeli - bir denetleyiciden diğerine bilgi geçmek
Yapmaya çalıştığım bir alışveriş sepeti, bir öğe listem var ve bir düğmeye bastığımda, bu öğeler sepete eklendiğinde, o öğeleri sepette ayrı olarak listelemek istiyorum sayfa ayrı bir denetleyici kullanıyor, bu yüzden sepet için bir fabrika kullanmaya çalışıyorum, ancak bir denetleyici içinde bir fabrika nesnesini ayarlayabileceğinizi bilmiyorum.
İşte kodum, bana doğru yönde işaret edebilirsiniz umuyoruz.
var app = angular.module("Shop", []);
app.factory('DataService', function() {
var cart = [];
var set = function (data) {
cart = data;
}
var get = function() {
return cart;
}
});
app.controller("catalogController", function ($scope, $http) {
$scope.bookStore = {
selected: {},
books: null
};
$scope.cart = [];
$http.get("json/books.json")
.success(function (data) {
console.log(data);
$scope.bookStore.books = data;
})
.error(function (err) {
});
$scope.addToCart = function (book) {
var found = false;
$scope.cart.forEach(function (item) {
if (item.id === book.id) {
item.quantity++;
found = true;
}
});
if (!found) {
$scope.cart.push(angular.extend({
quantity: 1
}, book));
}
};
$scope.removeFromCart = function (item) {
var index = $scope.cart.indexOf(item);
$scope.cart.splice(index, 1);
};
$scope.getCartPrice = function() {
var total = 0;
$scope.cart.forEach(function (product) {
total += product.price * product.quantity;
});
return total;
};
});
app.controller("checkoutController", function ($scope, DataService) {
$scope.cart = DataService;
});
Olası yinelenen: http://stackoverflow.com/questions/20181323/passing-data-between-controllers-in-angular-js – Roy