过滤掉选择选项后,角度模型无法更新
Angular model fails to update after select option is filtered out
试图弄清楚当绑定的选定选项不再存在时,模型为什么不更新。我希望模型的属性更新为undefined/null/empty字符串。
情况:一个select
使用筛选器驱动另一个select
。选择后,转到原始select
并选择另一个选项。Filter将按预期删除第二个select
选项,但第二个select
上的模型属性将保持不变。
问题:当您传递模型时,它将填充坏的/以前的值。此外,使用Angular验证,需要select
。。。该表单在技术上是"有效的",因为模型具有属性的值(以前的值)。
HTML:
<select name="Category" ng-model="selectedCategory"
ng-options="item.name as item.name for item in categories">
<option value="">All Categories</option>
</select>
<select name="SubCategory" ng-model="selectedSubCategory"
ng-options="item.name as item.subCategory for item in categories | filter:selectedCategory">
<option value="">All SubCategories</option>
</select>
型号:
app.controller('MainCtrl', function($scope) {
$scope.categories = [{
"id": "1",
"name": "Truck",
"subCategory": "Telescope"
}, {
"id": "2",
"name": "Truck",
"subCategory": "Hazmat"
}, {
"id": "3",
"name": "Van",
"subCategory": "Mini"
}];
});
我很确定我可以将ng更改函数与第一个绑定,以强制它更新模型,但有更好的方法吗?
示例Plunker演示问题
试试这个方法:
$scope.$watch('selectedCategory', function(selectedCategory){
$scope.selectedSubCategory = null;
});
相关文章:
- Angular没有根据模型更新我的选择元素
- 如何使 NgJsTree 应用模型更新
- 控制器内部的scope函数不根据视图中的ng模型更新值
- Angularjs模型更新延迟
- 模型更新时触发ng显示
- 在特定模型更新后,如何让keystoneJS运行函数
- 挖空JS未从视图模型更新
- 使用Spine.Model.Ajax,如何在模型更新时处理响应的JSON中的额外属性
- 模型更新后,AngularJS 视图未更新
- 角度函数在模型更新之前触发:邮政编码检查器
- 使用 AJAX 更新的模型更新 AngularJS 视图
- 角度指令内的回调在模型更新之前调用
- AngularJS 视图在模型更新后不会更新
- 带有硬编码选项的 AngularJS 多选不会在模型更新时更新
- 角度JS模型更新不起作用
- 角度视图未根据模型更新
- AngularJS-在控制器中使用模型导致模型更新
- Angularjs:当ng模型更新时,选择不更新
- 当使用Knockout's的foreach绑定,do事件会在视图模型更新时自动清理
- 通过ng模型更新不同的$scope对象属性