这不是本地写的。我只看到h1 =“你的购物车”的内容
如果我添加任何代码或brakets来完全填充错误,它会给我一个语法错误,我没有看到。我正在从orielly书“AngularJs”中复制。
如果语法错误,请告诉我。
<html ng-app>
<head>
<title>Your Shopping Cart</title>
</head>
<body ng-controller='CartController'>
<h1>Your Shopping Cart</h1>
<div ng-repeat='item in items'>
<span>{{item.title}}</span>
<input ng-model='item.quantity'>
<span>{{item.price | currency}}</span>
<span>{{item.price * item.quantity | currency}}</span>
<button ng-click="remove{$index}">Remove</button>
</div>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.22/angular.min.js"></script>
<script>
function CartController($scope) {
$scope.item = [
{title: 'Paint pots', quantity: 8, price: 3.95},
{title: 'Polka dots', quantity: 17, price: 12.95},
{title: 'Pebbles', quantity: 5, price: 6.95}
];
$scope.remove = function(index) {
$scope.items.splice(index, 1);
}
}
</script>
</body>
</html>
我现在遇到的问题是ng-repeat触发并显示一次,然后默认为注释掉的行。请帮忙。
这是正确的语法:
<html ng-app>
<head>
<title>Your Shopping Cart</title>
</head>
<body ng-controller='CartController'>
<h1>Your Shopping Cart</h1>
<div ng-repeat='item in items'>
<span>{{item.title}}</span>
<input ng-model='item.quantity'>
<span>{{item.price | currency}}</span>
<span>{{item.price * item.quantity | currency}}</span>
<button ng-click="remove($index)">Remove</button>
</div>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.22/angular.min.js"></script>
<script>
function CartController($scope) {
$scope.items = [
{title: 'Paint pots', quantity: 8, price: 3.95},
{title: 'Polka dots', quantity: 17, price: 12.95},
{title: 'Pebbles', quantity: 5, price: 6.95}
];
$scope.remove = function(index) {
$scope.items.splice(index, 1);
}
}
</script>
</body>
</html>
答案 0 :(得分:2)
这是一个由两部分组成的错字问题。
您有$scope.item = [
,但在代码的其余部分中将其称为items
。请注意最后的s
。将其更改为$scope.items = [
将解决第一个问题。
当您使用ng-click="remove{$index}"
时,您还有ng-click="remove($index)"
。由于remove是一个函数,因此应该使用括号。
答案 1 :(得分:1)
这是您的语法错误:
<button ng-click="remove{$index}">Remove</button>
你应该写:
<button ng-click="remove($index)">Remove</button>
编辑: 我迟到了回答。正如James指出的那样,$ scope.item应该是$ scope.items。