2016-01-13 33 views
0

背景角UI引导日期选择器切换到今天开放

我加入一个日期,具有角UI引导支持,就像我在类似这种Plunk已经实现。普朗克完全正是我想要它做的。

但是,在本地尝试中,所选日期切换为today,而不是在ng-model中设置的日期。

本地代码

<p class="input-group"> 
    <input type="text" class="form-control" 
      uib-datepicker-popup="{{format}}" 
      ng-model="person.DateOfBirth" 
      is-open="stats.DateOfBirthOpened" /> 
    <span class="input-group-btn"> 
     <button type="button" class="btn btn-default" ng-click="openDatepicker($event)"> 
      <i class="fa fa-calendar"></i> 
     </button> 
    </span> 
</p> 

脚本:

$scope.format = "dd/MM/yyyy"; 

$scope.stats = { 
    DateOfBirthOpened: false 
}; 

$scope.openDatepicker = function ($event) { 
    $scope.stats.DateOfBirthOpened = true; 
}; 

普拉克代码

<div class="input-group"> 
    <input type="text" class="form-control" 
      uib-datepicker-popup="{{format}}" 
      ng-model="today" 
      is-open="status.opened" 
      min-date="minDate" 
      max-date="maxDate" 
      datepicker-options="dateOptions" 
      ng-required="true" 
      close-text="Close" /> 
    <span class="input-group-btn"> 
    <button type="button" class="btn btn-default" ng-click="open($event)"> 
     <i class="fa fa-calendar"></i> 
    </button> 
    </span> 
</div> 

脚本:

$scope.status = { 
    opened: false 
}; 

$scope.open = function ($event) { 
    $scope.status.opened = true; 
}; 

$scope.dateFormat = "dd/mm/yyyy"; 

问题

据我可以告诉这两个实现是非常相似(相同忽略语义差异),那么,为什么不能正常使用本地代码正确(开放的今天显示,而不是NG-模型值)?根据要求

附录

完全控制JavaScript代码:

"use strict"; 

angular.module("controllers.mainControllers") 
    .controller("personDetailController", [ 
     "$scope", 
     function ($scope) { 
      var self = {}; 

      self.Get = function() { 
       if (coreUtilityService.IsValid($rootScope.PersoonId)) { 
        apiService.Get("api/person/" + $rootScope.PersoonId).then(function (person) { 
         $scope.person = person; 
         $scope.title = coreUtilityService.CombineTwoValuesWithSpace(person.Firstname, person.Lastname); 
        }); 
       }; 
      } 

      // === $SCOPED === // 

      self.Get(); 

      $scope.format = "dd/MM/yyyy"; 

      $scope.stats = { 
       DateOfBirthOpened: false 
      }; 

      $scope.openDatepicker = function ($event) { 
       $scope.stats.DateOfBirthOpened = true; 
      }; 
     }]); 

而且$ scope.person输出:

{PersonId: "9245fe4a-d402-451c-b9ed-9c1a04247482", Firstname: "Jackie", Lastname: "Chan", DateOfBirth: "1968-05-17T00:00:00", CreateDate: "2015-12-11T09:15:49.403"…} 
CreateDate: "2015-12-11T09:15:49.403" 
DateOfBirth: "1968-05-17T00:00:00" 
Firstname: "Jackie" 
Lastname: "Chan" 
ModifyDate: "2015-12-11T09:15:49.403" 
PersonId: "9245fe4a-d402-451c-b9ed-9c1a04247482" 
+0

可以请你分享完整的JavaScript文件代码 –

+0

完成后,虽然我认为不会增加太多。 – Spikee

+0

我想你还没有定义你想在前面展示的模型的价值。 –

回答

0

在你普拉克的日期格式错误使用"{{dd/MM/yyyy}}"代替"{{dd/mm/yyyy}}"

编辑:此外,普拉克例子没有正确地绑定格式。将{{format}}更改为{{dateFormat}}

+0

我注意到,如果我在本地使用“mm”而不是“MM”,那么我会在月份得到一个“00”值。我不知道为什么Plunk没有问题。两者都使用'ui-bootstrap-tpls-0.14.3.min.js'。 – Spikee

+0

返回的人物是什么样的? – Danscho

相关问题