当我尝试在使用controllerAs
语法的Angular控制器中使用Bootstrap的Datepicker时,以下代码不起作用:
$("#endDatePicker").datetimepicker({format: 'DD/MM/YY'}).on('dp.change', function (e) {
alert(1);
vm.project.endDateFormatted = e.date.format('DD/MM/YY');
vm.project.endDate = e.date.unix();
});
测试警报永远不会发生,并且日期选择器根本不适用于我的视图,因此以下标记不执行任何操作:
<div class="input-group date" id="startDatePicker">
<input type="text" class="form-control" name="startDatePicker" ng-model="vm.startDateFormatted" placeholder="Project Start Date" aria-describedby="basic-addon2" required/>
<span class="input-group-addon">
<i class="fa fa-calendar"></i>
</span>
</div>
但是,如果我在使用标准$scope
语法的控制器中完全相同,则datepicker正常工作。
经过进一步调查,我发现在控制器的activate()
中选择#startDatePicker会产生以下结果:
我的控制器似乎找不到具有id
的元素,这与我使用controllerAs
语法这一事实有关。
如何在不切换到$scope
语法的情况下解决此问题?