我是 AngularJS的 新手, 并且喜欢到目前为止所看到的内容,尤其是模型/视图绑定。我想利用它来构建一个简单的“添加到购物篮”功能。
到目前为止,这是我的控制器:
function BasketController($scope) { $scope.products = []; $scope.AddToBasket = function (Id, name, price, image) { ... }; }
这是我的HTML:
<a ng-click="AddToBasket('237', 'Laptop', '499.95', '237.png')">Add to basket</a>
现在这可行,但是我高度怀疑这是在模型中创建新产品对象的正确方法。但是,这正是我完全缺乏AngularJS经验的地方。
如果不是这样做的话,什么是最佳实践?
您可以创建购物篮服务。通常在JS中,您使用对象而不是许多参数。
这是一个示例:http : //jsfiddle.net/2MbZY/
var app = angular.module('myApp', []); app.factory('basket', function() { var items = []; var myBasketService = {}; myBasketService.addItem = function(item) { items.push(item); }; myBasketService.removeItem = function(item) { var index = items.indexOf(item); items.splice(index, 1); }; myBasketService.items = function() { return items; }; return myBasketService; }); function MyCtrl($scope, basket) { $scope.newItem = {}; $scope.basket = basket; }