ng用异步函数模拟怪异行为
ng-model weird behavior with Asynchronous function
下面是下拉选择代码:
<select ng-model="filter.area">
<option value="">Select your location</option>
<option ng-repeat="area in areaNames" value='{{ area.area_name }}'>{{ area.area_name }}</option>
</select>
在调用Async函数之前,在控制器中设置ng-model
:
$scope.filter.area = $cookies['filterArea'];
// which evaluated to some value lets say 'Bole'
现在是异步功能:
query.find({
success: function(results_area) {
$scope.$apply(function() {
$scope.areaNames = results_area;
for (var i = 0; i < $scope.areaNames.length; i++) {
$scope.areaNames[i].area_name = $scope.areaNames[i].get('name');
};
});
},
error: function(error) {
console.log("error in fetching area info....");
}
});
ng-model
未更新。知道这里出了什么问题吗?
要查看演示,请访问此处:http://peppy-avatar-762.appspot.com/
然后选择"亚的斯亚贝巴"并选择"伯乐"作为区域,然后点击寻找食物!检查左侧的区域过滤器。ng模型没有更新!
如果延迟加载选项,请在option
上使用ng-options
而不是ng-repeat
<select data-ng-model="selectedItem"
data-ng-options="item for item in items track by item">
</select>
工作程序
相关文章:
- 在VanillaJS中模拟模型双向数据绑定
- esri javascript异步打印
- JavaScript异步问题
- 使用jasmine模拟对服务器的调用
- $translateProvider.useStaticFilesLoader的Angular Translate异步定
- 模拟谷歌地图中的点击
- 异步facebook功能
- 异步并行错误
- 在Redux中,我应该在哪里编写复杂的异步流
- 使用模拟按键在输入框中自动输入文本
- 模拟chrome.storage.local函数使用Jasmine
- 从数据库中检索字段,而不模拟它们
- 角度异步http自动完成
- 如何模拟同步ajax调用?(基于异步的同步)
- ng用异步函数模拟怪异行为
- 模拟定时异步调用
- 我们如何模拟Redux异步操作的fetch
- 我们如何在Redux异步操作中模拟fetch
- 如何对异步Redux操作进行单元测试以模拟ajax响应
- 在Angular中模拟异步动作