В моем проекте Angular Я пытаюсь использовать Angular директивы для bootstrap datepicker, но это не отображается.Datepicker угловая директива для Bootstrap, не показывающая
Я связан с <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'])
Есть ли что-то очевидное, что мне не хватает?
Я пытаюсь использовать uib-datepicker-popup
в нг-переключателя в пределах нг-повтора, но я не понимаю, почему это вызывает проблемы:
<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>
И в мой контроллер:
vm.datePickerOpen = false;
vm.openDatePicker = function($event) {
vm.datePickerOpen = true;
};
После некоторого поиска я нашел это руководство по миграции и теперь знаю, что префикс изменился для добавления uib- ** из версии 0.14.0 **: https://github.com/angular-ui/bootstrap/wiki/Migration- Руководство для префиксов – dhuyvetter
Спасибо за ваш вопрос и ответ. Я немного смущен этим контролем. Для меня он работает с использованием , а не наоборот. Что не соответствует документации? Пока это работает, я думаю, это главное! – CYoung
@cyoung Проверьте, какая версия UT Bootstrap вы используете. В префикс uib была введена инверсия 0.14.0. Таким образом, вы, вероятно, используете более старую версию. – dhuyvetter