无法设置属性'日期'在设置AngularJS UI引导日期选择器时未定义的
Cannot set property 'date' of undefined when setting up AngularJS UI Bootstrap Datepicker
请考虑这个Plunk。
我有这段代码来设置日期选择器(基本上是从UI Bootstrap逐字复制粘贴的(非常小的修改))。
我不需要所有提供的功能,所以它被精简了一点
<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>
在控制器中定义:
app.controller("myController", [
"$scope",
"$http",
function($scope, $http){
var self = {};
$scope.today = new Date();
$scope.status = {
opened: false
};
$scope.open = function ($event) {
$scope.status.opened = true;
};
$scope.dateFormat = "dd/mm/yyyy";
}]);
运行Plunk时,会在控制台(Chrome F12)中导致以下错误:
TypeError:无法设置未定义的属性"date"
请参阅下面的详细信息。
据我所知,这个属性date
不是我正在设置的,所以它一定是DatePicker的内部工作出现了问题。
知道怎么解决这个问题吗?
正如承诺的那样,完全错误,但在Plunk中查看时看起来更好
TypeError:无法设置未定义的属性"date"在初始(https://angular-ui.github.io/bootstrap/ui-bootstrap-tpls-0.14.3.min.js:9:3230)在链接(https://angular-ui.github.io/bootstrap/ui-bootstrap-tpls-0.14.3.min.js:9:4936)在http://ajax.googleapis.com/ajax/libs/angularjs/1.2.6/angular.min.js:58:185在W(http://ajax.googleapis.com/ajax/libs/angularjs/1.2.6/angular.min.js:49:141)在f(http://ajax.googleapis.com/ajax/libs/angularjs/1.2.6/angular.min.js:42:268)在f(http://ajax.googleapis.com/ajax/libs/angularjs/1.2.6/angular.min.js:42:285)在W(http://ajax.googleapis.com/ajax/libs/angularjs/1.2.6/angular.min.js:49:82)在f(http://ajax.googleapis.com/ajax/libs/angularjs/1.2.6/angular.min.js:42:268)在f(http://ajax.googleapis.com/ajax/libs/angularjs/1.2.6/angular.min.js:42:285)在http://ajax.googleapis.com/ajax/libs/angularjs/1.2.6/angular.min.js:41:459(匿名函数)@angular.js:9383(匿名函数)@角度.js:6825W@角度js:6215f@角度js:5622f@angular.js:5625W@angular.js:6206f@angular.js:5622f@angular.js:5625(匿名函数)@angular.js:5527(匿名函数)@angular.js:1301h.$eval@angular js:11906h.$apply@angular.js:12006(匿名函数)@angular.js:1299d@angular.js:3697Xb.c@angular.js:1297Xb@angular js:1311Rc@angular.js:1260(匿名函数)@angular.js:220534a@angular.js:2339(匿名函数)@angular js:2610q@angular.js:309Xc.c@angular js:2609
基本上,您需要更新角度版本以使用最新的1.3.x
查看具有angular ui引导程序所需的依赖项。
Demo Plunkr
正如我从你的帖子中得到的,你无法从日期选择器中选择日期,或者点击日历图标时日期选择器没有打开。
这是因为您使用的angular bootsrap ui版本与您在代码中使用的angle js版本不兼容。
您应该使用兼容的版本。
通过以下链接进行plunker演示
Plunker演示
- 我想以时间戳的形式将日期设置为无限
- Bootstrap DatePicker-将日期设置为明天
- 为什么将新日期设置为今天会返回昨天
- 将 JavaScript 日期设置为静态
- 将日期设置为“”格式;Md、yy”;
- 将“日期”设置为Jquery UI日期选择器输入文本框
- 如何使用日期选择器将默认日期设置为从当前日期起两天
- 如何使用javascript将验证日期设置为不小于文本框中的开始日期
- 正在将日期范围选取器的开始日期设置为空
- Javascript:将新日期设置为明天上午8点
- 引导日期选择器将日期设置为1970年之前
- 如何将小时 javascript 日期设置为大于 23 并使用 .getHours() 函数检索它们
- 如何将日期设置为 72 小时后过期
- 在引导日期选取器中将日期设置为初始为空
- 如何在引导日期设置每月的第一个日期和最后一个日期
- 如何使用另一个日期输入字段将日期设置为输入字段
- 无法将昨天的日期设置为剑道UI日期选择器
- 根据特定日期设置数组
- 将“当前日期”设置为在引导日期选取器中选中
- 在 session.createDateTime 中将日期设置为特定的 d/t 和时区