【发布时间】:2015-05-25 08:44:04
【问题描述】:
以下代码可以正确使用纯 angularjs,但是当我将其集成到移动 Angular UI 应用程序时,它不会在选择日期后更新模型。如果我在没有日期选择器的情况下编辑输入字段,它可以正常工作。
模板:
<div>
<label>{{myLabel}}:</label>
<input class="form-control datetime-picker" placeholder="{{myPlaceholder}}" ng-model="ngModel" required="required">
</div>
指令js代码:
(function(){
var app = angular.module('MeetingApp.directives.HelpDirective', []);
app.directive("datetimePicker", function() {
return {
restrict: 'E',
templateUrl: "datetime-picker.html",
scope: {
ngModel: '=',
myPlaceholder: '@',
myLabel: '@'
},
require: ['?^ngModel'],
link: function(scope, element, attrs, ngModelCtrl) {
$(element).find('.datetime-picker').datetimepicker({
format: "dd.mm.yyyy hh:ii",
autoclose: true,
language: "de",
startDate: new Date(),
minuteStep: 10
});
}
};
});
})();
用法:
<form method="post" id="meetingForm" ng-controller="MeetingController as meetingCtrl" novalidate>
<datetime-picker my-placeholder="Startzeit" my-label="Startzeit" ng-model="meetingCtrl.meeting.start"></datetime-picker>
<datetime-picker my-placeholder="Endzeit" my-label="Endzeit" ng-model="meetingCtrl.meeting.end"></datetime-picker>
</form>
Github 链接:https://github.com/knobli/meetingApp
要运行应用程序: npm install -g bower yo gulp generator-mobileangularui 凉亭安装 吞咽构建 吞咽
【问题讨论】:
-
@pankajparkar 该元素是一个 div 元素,包含标签和输入元素。
-
尝试
$(element).find('.datetime-picker').datetimepicker看起来好像每次你为所有具有datetime-picker类的元素初始化日期选择器 -
@pankajparkar 感谢它有效,但它不能解决问题
标签: angularjs datetimepicker mobile-angular-ui