角度指令需要2次点击才能更改

时间:2015-05-21 20:07:42

标签: angularjs google-maps google-maps-api-3 angularjs-directive

好的,所以我开始说我几乎可以肯定这个错误要么是因为我对角度指令中的孤立范围缺乏理解,要么是指令与角度谷地图标记指令之间的一些奇怪的交互。

无论如何,问题是我的主控制器中有一个angular-google-maps的实例,我有一个标签。我还有一个指令,它捕获用户输入并使用它们填充主控制器中的列表,以便标记执行其操作。我将一个对象和函数从主控制器传递到指令的隔离范围。

奇怪的是,在我的指令中,我已将此功能绑定到表单的按钮单击,由于某种原因,需要2次单击才能显示标记。该函数触发第一次单击,它具有所有正确的值和所有内容,但标记不会出现。我检查的另一个奇怪的事情就是连续两次调用该方法一次点击无效(仍然需要按两次按钮)。

该函数修改主控制器中的数组(我感觉这是问题的根源),标签将其用作标记列表。关于为什么会发生这种情况的任何想法?如果它似乎不是对Angular范围的明显误解,我可以发布代码。

1 个答案:

答案 0 :(得分:2)

我的第一个想法是你的数据发生在摘要循环之外。如果是这种情况,那么在更新数据后添加$ scope。$ digest()可能会解决它(或者给你一个控制台错误)。