【发布时间】:2015-10-15 00:16:36
【问题描述】:
在编写手机教程时,我想知道如何实现这个用例
- 浏览器呈现手机列表
- 用户为其中一部手机点击
add phone - 函数
addItem被触发并将此手机添加到数组phonesInCart 中 - 购物车中的手机列表
$scope.phonesInCart = [];已更新
我的codepen demo和这段代码的逻辑是一样的
<body ng-controller="PhoneListCtrl">
<h3>Phones we sell</h3>
<ul class="phones">
<li ng-repeat="phone in phones | filter:query | orderBy:orderProp">
<b>{{phone.name}} </b>
<button ng-click="addItem(phone)"
ng-disabled="{{phone.orderReadonly}}">add phone</button>
</li>
</ul>
<h3>Phones in your cart</h3>
<ul>
<li ng-repeat="phoneInCart in phonesInCart">
{{phoneInCart.name}}
</li>
</ul>
</body>
和相关的javascript
$scope.phonesInCart = [];
$scope.addItem = function(phone) {
// these lines have no effect on the ui
phonesInCart.push(phone);
$scope.$apply();
}
当前状态
列表被渲染,“addItem”函数被触发。 目前购物车中的手机列表未更新/未呈现。
我的问题
你能解释一下吗
- 填充第二个数组
phonesInCart[]并刷新另一个ng-repeat和 - 我是否必须创建/使用多个控制器
phonecatApp.controller('PhoneListCtrl' ...才能拥有第二个ng-repeat?
【问题讨论】:
标签: javascript angularjs angularjs-ng-repeat