我们对此很陌生。在最终设法使ui-Bootstrap与日期控件一起工作后:-
<div class="col-md-2 box" ng-controller="ResultFilter" >
<h2>Filter</h2>
<p class="input-group" ng-controller="DatepickerDemoCtrl">
<input type="text" class="form-control" datepicker-popup="{{format}}" ng-model="resultfilter.startdate" is-open="opened1" min="minDate" max="'2015-06-22'" datepicker-options="dateOptions" date-disabled="disabled(date, mode)" ng-required="true" close-text="Close" />
<span class="input-group-btn">
<button class="btn btn-default" ng-click="open($event, 'opened1')"><i class="glyphicon glyphicon-calendar"></i></button>
</span>
</p>
<p class="input-group" ng-controller="DatepickerDemoCtrl">
<input type="text" class="form-control" datepicker-popup="{{format}}" ng-model="resultfilter.enddate" is-open="opened2" min="minDate" max="'2015-06-22'" datepicker-options="dateOptions" date-disabled="disabled(date, mode)" ng-required="true" close-text="Close" />
<span class="input-group-btn">
<button class="btn btn-default" ng-click="open($event, 'opened2')"><i class="glyphicon glyphicon-calendar"></i></button>
</span>
</p>
<p class="input-group">
<select class="form-control" ng-model="resultfilter.frequency">
<option value="Daily">Daily</option>
<option value="Weekly">Weekly</option>
<option value="Monthly">Monthly</option>
<option value="Yearly">Yearly</option>
</select>
</p>
</div>
我们以以下角度捕获点击
CISApp.controller('ResultFilter', function ResultFilter($scope, $http) {
$scope.updateResults = function () {
};
});
但是,如何在DatePickerDemoCtrl的控制器内获取开始日期的值呢?
以下不起作用?
$scope.resultfilter.startdate
任何帮助,将不胜感激
最佳答案
ng-controller
创建新作用域。您的两个DatepickerDemoCtrl
都是ResultFilter
的子范围。对于您的情况,您可以尝试:
$scope.$$childHead.resultfilter.startdate
不建议IMO使用此解决方案,因为它会创建紧密耦合的代码,您假设此控制器有一个子作用域,还有一些其他推荐方法:
使用$on, $emit, $broadcast在范围之间进行通信。
创建共享服务以保留状态(我认为这不适用于您的情况)