当我点击图标时,我正试图从datepicker
开始UI Bootstrap
打开。这是我的html
:
<p class="input-group">
<input type="text" class="form-control" datepicker-popup ng-model="dt" is-open="opened"/>
<span class="input-group-btn">
<button type="button" class="btn btn-default" ng-click="open()"><i class="glyphicon glyphicon-calendar"></i></button>
</span>
</p>
这是我的js
:
scope.open = function() {
scope.opened = true;
};
scope.opened = false;
当我点击按钮时,我点击了open()
,opened
被更改,没有任何反应。 datepicker
没有出现。奇怪的是,如果我把ng-click
放在输入上:
<input type="text" class="form-control" datepicker-popup ng-model="dt" is-open="opened" ng-click="open()"/>
然后datepicker
工作并打开它应该的样子。我错过了某个地方。有谁知道这是什么问题?
答案 0 :(得分:0)
这是一个范围问题,因为您要将模型变量设置为基元。
尝试在对象中声明opened
变量,例如status.opened
:
<p class="input-group">
<input type="text" class="form-control" datepicker-popup ng-model="dt" is-open="status.opened"/>
<span class="input-group-btn">
<button type="button" class="btn btn-default" ng-click="open()"><i class="glyphicon glyphicon-calendar"></i></button>
</span>
</p>
<强>控制器强>
scope.status = {
opened: false
}
scope.open = function () {
scope.status.opened = true;
};