在我将更改添加到$ scope变量之后,我正在寻找一种执行代码的方法,在本例中为$ scope.results.我需要这样做,以便在它可以执行之前调用一些遗留代码,这些遗留代码要求项目在DOM中.
我的真实代码是触发AJAX调用,并更新范围变量以更新ui.所以我目前我的代码在推送到示波器后立即执行,但遗留代码失败,因为dom元素尚未可用.
我可以使用setTimeout()添加一个丑陋的延迟,但这并不能保证DOM真正准备就绪.
我的问题是,有什么方法可以绑定到"渲染"类似的事件?
var myApp = angular.module('myApp', []);
myApp.controller("myController", ['$scope', function($scope){
var resultsToLoad = [{id: 1, name: "one"},{id: 2, name: "two"},{id: 3, name: "three"}];
$scope.results = [];
$scope.loadResults = function(){
for(var i=0; i < resultsToLoad.length; i++){
$scope.results.push(resultsToLoad[i]);
}
}
function doneAddingToDom(){
// do something awesome like trigger a service call to log
}
}]);
angular.bootstrap(document, ['myApp']);
Run Code Online (Sandbox Code Playgroud)
链接到模拟代码:http://jsfiddle.net/acolchado/BhApF/5/
提前致谢!
我一直在阅读有关iOS模拟器上的位置模拟的许多问题/答案,但没有涉及我的具体问题.我有一个位置感知应用程序的原型,我配置为使用GPX文件,如本答案所述:如何解决Xcode 4.1(LION)GPS错误?
它工作得很好,它提供了我需要的所有信息,但有一个例外.当我们进入GPX文件中定义的最后一个位置时,我期待位置更新停止.相反,当前位置在循环中不断更新.它返回到起始位置,并循环直到你停止它.
我已经尝试在我希望它留在的区域周围标记位置,但它忽略了它们.它可能与位置的最小变化有关,但它只是忽略它并继续循环.
创建了一个快速项目来说明问题并将其加载到GitHub:https://github.com/acolchado/LocationPrototype
要重现,请按照下列步骤操作:
在xcode中加载项目,我使用xcode 4.4.1创建它.
运行该项目.
从调试面板中,找到位置箭头.单击箭头并从上下文菜单中选择"SanBruno_To_Downtown_SF".
将模拟器带到前台并观察无限循环.
我到处寻找解决方案,但是我找不到任何关于循环的提法.我非常感谢任何人在这里提供的任何帮助.
谢谢,
奥古斯丁