使用Bootstrap的Datepicker和ControllerAs语法

时间:2015-11-30 14:19:28

标签: jquery angularjs twitter-bootstrap datepicker

当我尝试在使用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会产生以下结果:

enter image description here

我的控制器似乎找不到具有id的元素,这与我使用controllerAs语法这一事实有关。

如何在不切换到$scope语法的情况下解决此问题?

0 个答案:

没有答案