所以,我有这两个下拉元素,第二个输出将取决于第一个输入。第二次下拉将输入第一次下拉为(ng-options="reason for reason in getReason($ctrl.selectedItem)
)
但是我意识到第二个下拉列表不会等待第一个下拉列表被选中并运行ng-options
但是因为它首先需要输入。它会导致null
错误。
如何解决此问题?
class Items{
constructor(){
this.items = ["item1", "item2", "item3"];
this.selectedItem = null;
this.stuff = {
"item1" : ["asdd"],
"item2" : ["asdasdsd", "asdsddd],
"item3" : ["asdasdasd]
};
}
getReason(item){
return this.stuff[item];
}
}
<select ng-model=“$ctrl.selectedItem” ng-options=“item for item in items”>
</select>
<select ng-disabled=“!$ctrl.selectedItem” ng-options=“reason for reason in getReason($ctrl.selectedItem)”>
答案 0 :(得分:0)
如果getReason
不是“有效”参数,请更改item
以返回空数组。
getReason(item){
item ? return this.stuff[item] : [];
}
注意:这将保持第二个下拉列表为空,直到item
参数有效。