AngularJS ng-repeat更新无法正常工作

时间:2016-03-06 19:01:20

标签: javascript android angularjs cordova

我试图在HTML中显示我推送值的数组中的元素。这些值只是基本字符串。

这是设置数据库的代码:

<ion-content ng-controller="FeedController" ng-init="loadcourse()" class="has-tabs-top">

    <ion-list>
      <ion-item ng-repeat="entry in courseDB">
        Hello, {{entry}}!
      </ion-item>
    </ion-list>

  </ion-content>

这是我显示条目的方式:

public int two(int[] n){
    int twosFound=0;
    int other=0;

    for (int i = 0; i < n.length; i++) {

        if (n[i]==2) {
            System.out.println("2 is found");
            twosFound++;
        }

        else other++;

    }

    return twosFound;
}

现在,没有意义的是,它只显示两个虚拟值(1和2),但不显示在loadCorse函数内的push-function中添加的元素 - 即使被推入数组的元素在显示的警告弹出窗口中可见!

我几乎100%肯定我在这里错过了一个小愚蠢的细节。

更新

这是数组在警报上的显示方式:(无括号)

1,2,Textstring,Textstring,Textstring

1 个答案:

答案 0 :(得分:1)

你应该触发$ scope。$ apply()来触发change detection

  tx.executeSql("SELECT (name) FROM note", [], function(tx,res){
      for(var iii = 0; iii < res.rows.length; iii++)
      {
          $scope.courseDB.push(res.rows.item(iii).name);
          alert($scope.courseDB);
      }
      $scope.$apply();
  });