问题是我不知道,我没有找到如何做标题中写的内容。如何获取单击其链接的元素,然后将其值推入数组?
$scope.orderList = [];
$scope.add = function() {
$scope.orderList.push($scope.pizza.name);
};
来自view.html的
<div ng-controller="orderCtrl">
<input type="text" ng-model="search" placeholder="{{placeholder}}" ng-focus="example()" ng-blur="default()" />
<ul ng-hide="pizzaSvg">
<li ng-repeat="pizza in pizze | filter:search | orderBy: 'name'" ng-model="orderList"><a href="" ng-click="add()">{{pizza.name}}</a><br/>{{pizza.ingredients}}</li>
</ul>
<ul ng-show="pizzaSvg">
<li ng-repeat="order in orderList"><a href="">[x]</a> {{order}}</li>
</ul>
</div>
答案 0 :(得分:3)
您需要将披萨作为参数传递给添加功能:
$scope.orderList = [];
$scope.add = function(pizza) {
$scope.orderList.push(pizza.name);
};
然后在你的html:
<div ng-controller="orderCtrl">
<input type="text" ng-model="search" placeholder="{{placeholder}}" ng-focus="example()" ng-blur="default()" />
<ul ng-hide="pizzaSvg">
<li ng-repeat="pizza in pizze | filter:search | orderBy: 'name'" ><button ng-click="add(pizza)">{{pizza.name}}</button><br/>{{pizza.ingredients}}</li>
</ul>
<ul ng-show="pizzaSvg">
<li ng-repeat="order in orderList"><button>[x]</button> {{order}}</li>
</ul>
</div>
另外,请避免将<a>
用于可点击元素,因为浏览器不会尝试将链接作为其默认<button>
操作,因此click
之类的内容会更加干净。< / p>
答案 1 :(得分:0)
我通常会使用这样的按钮来执行此操作:
<ul ng-show="pizzaSvg">
<li ng-repeat="order in orderList"><button ng-click="add(order)">[x]</a> {{order}}</li>
</ul>
原因是因为我视图中的链接用于从一个页面移动到另一个页面,其中一个按钮将用于执行操作。