我尝试使用前一天和后一天按钮来扩展UI datepicker。
如您所见,我可以使用datepicker或prev / next按钮更改模型。但是,当使用上一个/下一个按钮更改模型时,日期选择器不会更新。
http://plnkr.co/edit/k1flklFny5BoX6zdwyWJ?p=preview
<div class="form-group">
<div class="input-group">
<input type="text" class="form-control"
datepicker-popup="{{ctrl.format}}" ng-model="ctrl.dt"
is-open="ctrl.opened" datepicker-options="ctrl.dateOptions"
ng-required="true" close-text="Close" />
<span class="input-group-btn">
<button type="button" class="btn btn-default" ng-click="ctrl.open($event)">
<i class="glyphicon glyphicon-calendar"></i>
</button>
</span>
</div>
</div>
我已经尝试了几种方法(包括$ scope和作为语法演示的控制器),但是它根本不起作用。有任何想法吗?
PS:我非常努力地将上一个按钮,日期选择器,下一个按钮排成一行,该日期选择器仅占据了所需的空间。如果有人对如何实现这一想法有任何帮助,我们将不胜感激。
我不知道为什么,但是当Date对象更改自身时,ngModel似乎没有反应。但是,如果您将新的Date实例分配给作用域属性,则它会更改。
尝试这个:
this.prevDay = function() {
this.dt = getPrevNextDate(this.dt, -1);
};
this.nextDay = function() {
this.dt = getPrevNextDate(this.dt, 1);
};
function getPrevNextDate(date, increment)
{
var newDate = new Date();
newDate.setDate(date.getDate() + increment);
return newDate;
}
最好将其缓存this
到var self = this
控制器功能顶部的某些变量中,并使用self
变量代替this
这样,您将避免此行中的错误:
$log.log('GET api/v1/person/' + this.person.id + '/entry returned: ' + data.length + ' entries')
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句