如何在angularjs中使用开关盒内的环?

时间:2016-03-26 14:27:08

标签: javascript angularjs

我使用switch case进行语音识别,这是代码:

for

但是,我希望在一种情况下使用//作为循环,因为您可以看到我已经将其作为命令,但是当我删除for (var i = 1; i < $scope.filteredItems.length; i++){ case 'chat with friend number ' + i: $scope.chatWith(friend.userid , friend.nama); break; } 时,它在我的应用程序中无效。我可以在开关盒内使用for loop吗? 我使用循环是这样的:

i

所以,在我使用i循环的情况下。它已经很详细了吗?

修改

我将使用'chat with friend number ' + i: i < $scope.filteredItems.length是朋友列表中索引的长度,并且所有用户都有不同数量的朋友,所以我不能输入确切的数字,如5或6 ,我必须使用{{1}}作为朋友的总数。

2 个答案:

答案 0 :(得分:1)

基于评论,您试图在循环内创建无法正常工作的动态切换案例。

你可以做的是从switch中删除整个场景:

if (result && result.indexOf('chat with friend number') > -1) {
  // do what is needed for this case with your loop

} else {
  switch (result) {
    // all the other cases shown
  }

}

答案 1 :(得分:0)

您可以尝试这样的事情:

switch(result){
  case:
    .
    .
    .
  case default:
    var text = "chat with friend number";

    // Search if result is of type "chat with friend number" and find friend number.
    var friend_no = result.indexOf(text)>-1?parseInt(result.replace(text,'')):-1
    if(friend_no>-1){
      // do your stuff
    }
}

注意:上面将首先评估所有案例。如果这个概率太高,你应该尝试@ charlietfl的方法。