Bootstrap的Datepicker角度指令未显示

dhu*_*ter 7 datepicker twitter-bootstrap angularjs angular-ui-bootstrap

在我的Angular项目中,我试图将Angular指令用于bootstrap datepicker,但它没有显示出来.

我已链接到<script src="bower_components/angular-bootstrap/ui-bootstrap.js"></script><script src="bower_components/angular-bootstrap/ui-bootstrap-tpls.js"></script>的index.html和我的app.js我已经把ui.bootstrap作为一个依赖.

angular
    .module('myApp', ['ui.bootstrap'])
Run Code Online (Sandbox Code Playgroud)

我有什么明显的遗失吗?

我试图uib-datepicker-popup在ng-repeat中的ng-switch中使用,但我不明白为什么会导致任何问题:

<div class="form-group" ng-repeat="field in vm.fields">
    <label for="{{ field.propertyName }}">
        <h5><span translate="{{ field.translate }}"></span>
            <span class="form-control-required" ng-show="{{field.required}}">*</span>
        </h5>
    </label>
    <div ng-switch="field.type" ng-class="{ 'input-group': field.type === 'date' }">
        <select ng-switch-when="gender"
                name="{{ field.propertyName }}" id="{{ field.propertyName }}"
                ng-model="vm.model[field.propertyName]" class="form-control"
                ng-required="{{ field.required }}">
            <option value="m">Male</option>
            <option value="f">Female</option>
        </select>
        <textarea ng-switch-when="textarea"
                  name="{{ field.propertyName }}" id="{{ field.propertyName }}"
                  class="form-control" ng-model="vm.model[field.propertyName]"
                  ng-required="{{ field.required }}"></textarea>
        <input ng-switch-when="date"
               type="date" uib-datepicker-popup="dd/MM/yyyy" 
               show-weeks="false" is-open="vm.datePickerOpen"
               name="{{ field.propertyName }}" id="{{ field.propertyName }}"
               class="form-control pull-left" ng-model="vm.model[field.propertyName]"
               ng-required="{{ field.required }}">
        <span class="input-group-btn btn-" ng-if="field.type === 'date'">
            <button type="button" class="btn btn-primary" 
                    ng-click="vm.openDatePicker($event)">
                <i class="glyphicon glyphicon-calendar"></i>
            </button>
        </span>
        <input ng-switch-default=""
               type="{{ field.type }}" name="{{ field.propertyName }}" id="{{ field.propertyName }}"
               class="form-control pull-left" ng-model="vm.model[field.propertyName]"
               ng-required="{{ field.required }}">
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

在我的控制器中:

vm.datePickerOpen = false;

vm.openDatePicker = function($event) {
    vm.datePickerOpen = true;
};
Run Code Online (Sandbox Code Playgroud)

dhu*_*ter 16

显然,https: //angular-ui.github.io/bootstrap/#/datepicker上的文档适用于较新版本.通过改变uib-datepicker-popupdatepicker-popup它的工作.

此外,我不得不改变<input type="date" datepicker-popup><input type="text" datepicker-popup>的,因为这样的:有没有办法来改变输入类型="日期"格式?

它现在正在运作.关于bootstrap的Angular指令的文档应该提到使用uib-datepicker的版本以及datepicker适用的位置.

  • 经过一些搜索后,我找到了这个迁移指南,现在知道前缀更改为添加uib-来自版本0.14.0****:https://github.com/angular-ui/bootstrap/wiki/Migration-guide - 用于前缀 (2认同)