我正在尝试基于对象的动态数组创建一个开关...
例如:
<div ng-switch on="currentItem">
<div ng-repeat="item in myItems" ng-switch-when="item.name">
<p>{{item.name}}</p>
<button ng-click="nextItem(item)">Next Item</button>
</div>
</div>
然后在我的控制器中......
$scope.myItems = [{
"name": "one"
}, {
"name": "two"
}]
// Default first item
$scope.currentItem = $scope.myItems[0].name;
$scope.nextItem = function(med) {
for (var i = 0; i < $scope.myItems.length; i++) {
if ($scope.currentItem === $scope.myItems[i].name) {
if ($scope.myItems[i + 1] !== undefined) {
$scope.currentItem = $scope.myItems[i + 1].name
}
}
}
}
基本上,dom 应该为每个项目呈现一个 div,当用户单击 Next Item 按钮时, currentItem 应该被更新,并且应该基于此触发开关。
我没有看到我应该看到的第一个结果(没有呈现任何内容)。任何帮助将不胜感激。