我有一个简单的过滤器,我想在其中选择一个特定的值和类型,并使用它进行其他调用。这是我在我的视图中的一个近似表示(我没有使用 ng-repeat 来创建这些单选按钮)。
<form>
<label>
<input type="radio" name="ptf" ng-value="cntrl.filter.today_filter" ng-model="cntrl.filter.filter_value"> Today
</label>
<label>
<input type="radio" name="ptf" ng-value="cntrl.filter.hour_filter" ng-model="cntrl.filter.filter_value"> Last
</label>
<select ng-model="cntrl.filter.hours" ng-options="num for num in cntrl.filter.time_range"></select>
<label> hours</label>
<label>
<input type="radio" name="ptf" ng-value="cntrl.filter.date_filter" datepicker="" ng-model="cntrl.filter.filter_value">Select a Date
</label>
<button class="btn btn-info float-right" ng-click = "cntrl.refreshData()" >Update</button>
</form>
这基本上给了我 3 个选项,我可以选择今天、最后n
几个小时或另一个日期。这是我的相关代码cntrl
。
vm.filter = {
today_filter: {
type: 'today',
value: 1
},
date_filter: {
type: 'date',
value: 2
},
hour_filter: {
type: 'hours',
value: 3
},
hours: 8,
today: getFormattedDate(vm.current_date),
time_range: [],
filter_value: {
type: 'today',
value: 1
}
};
现在我将 filter_value( ng-model
) 设置为一个对象type today and value 1
。所以我希望默认情况下我的单选按钮的值cntrl.filter.today_filter
应该被选中。当我选择其他单选按钮时,该filter_value
对象应相应更新。当然,这不会发生。这里有一些基本的错误吗?有关如何解决此问题的任何指示,或者可能对此采取不同的方法?