MySQL数据库中的日期未显示在Angular视图中

时间:2016-04-20 00:34:00

标签: mysql angularjs typescript

所以我正在使用带有TypeScript的Angularjs来创建一个简单的待办事项列表作为网页,只是为了娱乐/练习。这是我的控制器,它查询数据库并存储对象:

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的变量,我不知道。我只需要将绑定从{{item.due}}更改为{{item.due_Date}}

1 个答案:

答案 0 :(得分:0)

这只是在黑暗中拍摄但在角度帮助中过滤日期吗?

{{item.todo |日期:&#39; medium&#39; }}

我认为这只是我的头脑。