上下文菜单动态创建?

时间:2017-09-27 12:33:58

标签: javascript jquery css angularjs

我按照以下链接:     https://codepen.io/templarian/pen/VLKZLB

但是在点击“更多选项”时,我必须获得动态填充的名称,如

var Obj = [{name:"1st Item",taste:"sweet"},{name:"2nd item",taste:"spicy"}];

更换“警报费用”和“警报玩家金币”。

我尝试了但是我没有进入动态循环。

1 个答案:

答案 0 :(得分:3)

您可以这样做....将此代码添加到演示控制器内的函数中。

$scope.arr = [];
  for(let x of [{name:"1st Item",taste:"sweet"},{name:"2nd item",taste:"spicy"}]) {
    let newArr = [];
    newArr.push(x.name);
    newArr.push(function ($itemScope) {
              alert($itemScope.item.cost);
          });
    $scope.arr.push(newArr);
  }

然后用$ scope.arr替换警报成本“和”警报播放器黄金“的旧数组。

$scope.menuOptions = [
      ['Buy', function ($itemScope) {
          $scope.player.gold -= $itemScope.item.cost;
      }],
      null,
      ['Sell', function ($itemScope) {
          $scope.player.gold += $itemScope.item.cost;
      }, function ($itemScope) {
          return $itemScope.item.name.match(/Iron/) == null;
      }],
      null,
      ['More...', $scope.arr]
  ];
瞧,沃拉,你很高兴。 这是工作的codepen示例。 Working example https://codepen.io/anon/pen/jGBJMY?editors=1010