因此,我使用 Angularjs 和 TypeScript 来制作一个简单的待办事项列表作为网页,只是为了娱乐/练习。这是我的 Controller ,它查询数据库并存储对象:
module app.ToDo {
class ToDoCtrl {
toDoItems: app.domain.ToDoItems[];
static $inject = ["dataAccessService"];
constructor(private dataAccessService: app.common.DataAccessService)
{
this.toDoItems = [];
var toDoResource = dataAccessService.getToDoResource();
toDoResource.query((data: app.domain.ToDoItems[]) => {
this.toDoItems = data;
});
}
}
angular.module("toDoManagement").controller("ToDoCtrl", ToDoCtrl);
}
这是我的 ToDoItems 类:
module app.domain {
export class ToDoItems {
constructor(public id: number, public title: string, public description: string,
public due: Date, public completed: boolean) { }
}
}
这些是我的数据库中的所有字段。这是我的观点:
<table>
<thead>
<tr>
<td>Title</td>
<td>Description</td>
<td>Due Date</td>
<td>Completed</td>
</tr>
</thead>
<tbody ng-repeat="item in vm.toDoItems">
<tr>
<td>{{item.title}}</td>
<td>{{item.description}}</td>
<td>{{item.due}}</td>
<td>{{item.completed}}</td>
</tr>
</tbody>
</table>
我的问题是每行的 Due
列显示为空。这是从 MySQL 到 JavaScript 的某种格式错误吗?我的数据库中的 Due
字段的类型为 DATE
,而不是 DATETIME
(以防相关)。
已修复:问题在于变量,由于我在数据库中命名变量的方式,Due
的值被分配给了一个没有的变量。类中不存在,而是创建了自己的变量,名为 due_Date
我不知道。我只需将绑定(bind)从 {{item.due}}
更改为 {{item.due_Date}}
。
最佳答案
这只是在黑暗中拍摄,但 Angular 中的日期过滤器有帮助吗?
{{ item.todo |日期:'中'}}
我想这就是我的想法
关于mysql - MySQL 数据库中的日期未显示在 Angular View 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36731791/