2015-04-01 6 views
0

У меня есть угловая директива datepicker UID для Kendo в машинописном машиностроении. Когда я помещаю 2 директивы на одну страницу и комментирую строку scope["ngModel"] = _utc;, она отлично работает, но не решает мою цель. Но когда я раскомментирую строку и выбираю дату во второй директиве, она очищает значение первого календаря.Kendo UI datepicker угловая директива

export class DateUtcDirective { 

    public static $inject: string[] = ["AuthService", "propBagFilter"]; 

    public constructor(
     authService: Services.AuthService, 
     propBagFilter: Function 
     ) { 
     return <ng.IDirective>{ 
      restrict: "A", 
      template: 
      "<div>" + 
      "<div class='input-group'>" + 
      "<input kendo-date-picker k-ng-model='ngModel' k-format='format' k-on-change='select()'/>" + 
      "</div>" + 
      "<div class='input-group' ng-show='isTimeAllowed' >" + 
      "<br />" + 
      "<input kendo-time-picker k-ng-model='ngModel' />" + 
      "</div>" + 
      "</div>", 
      replace: true, 
      scope: { 
       ngModel: "=", 
       paramObject: "=" 
      }, 
      link(scope: ng.IScope, element: any, attrs: any) { 
       var propBag = propBagFilter(scope["paramObject"].props); 
       var authPropBag = propBagFilter(authService.currentUser.props); 

       (<any>scope).select = function() { 
        if (!!propBag["IsUtc"]) { 
         console.log(scope); 
         var localDate = new Date(scope["ngModel"]); 
         var _utc = localDate.toUTCString(); 
         scope["ngModel"] = _utc; 
        } 
       } 
       scope["isTimeAllowed"] = propBag["IsTimeAllowed"] || false; 
       scope["isUtc"] = propBag["IsUtc"] || false; 
       scope["format"] = authPropBag["ShortDatePattern"]; 
      } 
     } 
    } 
} 
+0

Я думаю, что мой код не является правильной сферой [ "ngModel"] = _utc; потому что я не могу выбрать дату (даже если есть только один календарь на странице), когда я раскомментирую эту строку. –

ответ

0

попытка дать идентификатор

<input kendo-time-picker k-ng-model='ngModel' /> 

как

<input kendo-date-picker k-ng-model='ngModel' k-format='format' k-on-change='select()' id="abc1"/> 
<input kendo-time-picker k-ng-model='ngModel' id="abc2" />