ng-repeat未在选择选项中刷新

时间:2017-11-16 08:12:16

标签: javascript angularjs select angularjs-ng-repeat

目前正在使用AngularJS,我遇到了一个“选择选项”问题。

我正在执行$ http请求以从Cloud SQL数据库中获取数据。

为此,我调用我工厂中的一个函数,该函数从我的数据库中返回数据。

Here is my JS

正如您所看到的,我首先初始化我的' controller.connections'变量,包含2个值(1和2)的数组。

获取数据后(使用我的' f_getData'函数),我更改了该数组的值(我添加了4个值,但我没有使用我提取的数据来测试,但是行为是一样的。)

Here is my HTML

为了您的信息,我的ng-app位于' html'标签和ng-controller在' body'标签。 我使用ng-repeat作为我的选项,因为我使用ng-options有相同的行为。 在我的选择下面,我有一个完全相同的ng-repeat来测试。

Here is the behaviour

正如您所看到的,我的选择中的变量在我的ng-repeat中对我的选择似乎没有更新。 尽管如此,相同的变量会在' p'上的ng-repeat上更新。标签

所以我试过了:

    回调中的
  1. $ scope。$ apply()('然后'),但控制台说$ digest正在完成。我也在回调后尝试过,它说$ apply()正在完成,所以我尝试了2秒的$ timeout,但没有做任何事情。
  2. $ scope.connections而不是controller.connections,但我想这会产生问题,因为ng-repeat会创建自己的范围。
  3. 在回调中为我的大数组使用临时变量,然后更改我的'连接的值'从回调中变量到这个临时变量,最后调用$ scope。$ apply()。我的选项上的ng-repeat没有更新,但我的重复在' p'标签是。
  4. 基本上我的问题是:我不能使用ng-repeat和ng-options来创建动态选择输入。 有没有人有办法解决吗 ? 提前致谢

1 个答案:

答案 0 :(得分:0)

对于那些试图帮助我的人,非常感谢你。 我解决了我的问题(稍作改动)。 我开始使用旧学校糟糕的方式通过在我的JS中创建选项元素来填充选项,同时我会找到解决方案。在寻找一种方法来重置我的选择的价值时,我找到了一个使用ng-options的人,并且它正在工作。因此,我把这个掠夺者的代码粘贴在我的代码中。

它起作用了!

然后我试着让它适应我的代码,直到某一点为止 那一点是我选择的div。我试着将它放在几个不同的地方(工作),直到它在开头的div(有点工作:有时当我刷新,选项不显示,然后再刷新将解决问题)。
我还在试图弄清问题是什么。

谢谢大家的帮助。
我很抱歉为您提供了我的代码的屏幕截图,我不熟悉在这里发布问题,我是那种使用答案而不是找到答案的人...... 但我向你保证,我会注意到你对我未来问题的批评。

再次感谢 !



P.S:我们如何关闭一个主题,好吗? ^^