Ionic Playground - ng-repeat实例'不要更新$ scope

时间:2015-10-16 16:30:07

标签: angularjs-scope ionic ng-repeat

我遇到问题(使用Ionic' Playground),我的ng-repeat实例在绑定新数据时没有更新控制器的范围。我可以在桌面和设备上的实际Ionic应用程序中完全按照我的要求进行操作,但我似乎无法弄清楚为什么它在使用Ionic的游乐场时无法工作。这是我的游乐场:http://play.ionic.io/app/9941cddae6bd

这就是它应该做的事:https://youtu.be/9IJdpaZKDV4

谢谢!

编辑:添加了视频

再次编辑:更多细节 - 我现在意识到我应该在我的问题中更具体:问题与this.checkForReorder函数有关(我的第98-109行)。它不会被激发,因为tempToCompareIfNewOrder数组并不代表模板实例'当前价值。这个问题似乎就是一个例子。范围不会更新控制器的范围,即。如果我是console.table(tempToCompareIfNewOrder)(我的第101行),那么日志总是一样的。

2 个答案:

答案 0 :(得分:0)

我在控制台上找到了这个:

XMLHttpRequest cannot load http://finance.yahoo.com/webservice/v1/symbols/BTCUSD=X/quote?format=json&view=detail. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://play.ionic.io' is therefore not allowed access.

后跟TypeError: Cannot read property 'chg_percent' of undefined

由于CORS,您的应用无法加载所需的数据,并且您的功能因错误而停止。 CORS开始行动,因为您从没有设置Access-Control-Allow-Origin标头的API加载以允许从其他域访问。

设备通过file协议提供数据,Ionic服务器也做了一些事情来解决CORS问题,所以这两个都很好。

答案 1 :(得分:0)

它最初正在加载数据,但是,如果不花太多时间挖掘代码,它似乎不会重新加载数据。当然,这可能只是因为我回答这个问题时市场已经关闭了。

如果您将其作为常规应用程序运行,则可能是沙箱与脚本中的某些内容之间存在冲突。一个有根据的猜测是,沙箱可能有一些限制,以防止他们的网站被黑客入侵。也可能是因为它并不意味着处理任何复杂的事情。这只是一种简单的方法,无需打开控制台就可以开始使用,而不是真正让你的代码恢复原状的地方。

如果您必须使用Ionic的沙盒,我建议您分解代码并一次重新构建一个代码,以找出存在冲突的内容。

如果您无法为爱情或金钱工作,您可能需要尝试其他沙箱工具,例如codepen

如果以上所有方法都失败了,您可以将这个翻转的东西作为静态网页托管,例如firebase