在Angular / Express

时间:2015-11-08 14:10:09

标签: angularjs express

这是我的uebersetzer.service.js:

module.exports = function (app, Uebersetzer) {


    app.post('/rest/uebersetzer', function (req, res) {
        var uebersetzer = req.body;

        console.log("before" + uebersetzer.zeit);
        uebersetzer.zeit = timeToMinutes(uebersetzer.zeit);
        console.log("after" + uebersetzer.zeit);
                Uebersetzer.create(uebersetzer, function (err, result) {
                    res.json(result);
                });
            }
        });
    });
    app.get("/rest/uebersetzer/:id", function (req, res) {
        Uebersetzer.findById(req.params.id, function (err, uebersetzer) {
            console.log("get uebersetzer by id before" + uebersetzer.zeit);
            uebersetzer.zeit = minutesToDate(uebersetzer.zeit);
            console.log("get uebersetzer by id " + uebersetzer.zeit);
            res.send(uebersetzer);
        });


    });

    function timeToMinutes(time) {
        var hours = time.getHours * 60;
        var minutes = time.getMinutes;
        time = hours + minutes;
        console.log(time);
        return time;
    }
    function minutesToDate(minutes) {
        var hours = Math.floor(minutes / 60);
        var minute = minutes % 60;
        var date = new Date(1, 1, 1970, hours, minute, 00);
        console.log(date);
        return date;
    }
};

Uebersetzer.controller.js

(function () {
    angular
        .module("PassportApp")
        .controller("UebersetzerController", UebersetzerController);

    function UebersetzerController(UebersetzerService) {
        var vm = this;
        vm.addUebersetzer = addUebersetzer;
        vm.removeUebersetzer = removeUebersetzer;
        vm.selectUebersetzer = selectUebersetzer;
        vm.updateUebersetzer = updateUebersetzer;
        vm.uebersetzer = {};

        function updateUebersetzer(uebersetzer) {
            UebersetzerService.update(uebersetzer, function (response) {
                findAllUebersetzers(setAllUebersetzer);
            });
        }

        function selectUebersetzer(uebersetzerId) {
            UebersetzerService.findUebersetzerById(uebersetzerId, function (response) {
                vm.uebersetzer = response;


            });
        }

        function removeUebersetzer(uebersetzerId) {
            UebersetzerService.removeUebersetzer(uebersetzerId, function (response) {
                findAllUebersetzers(setAllUebersetzers);
            });
        }

        function addUebersetzer(newUebersetzer) {
            UebersetzerService.createUebersetzer(newUebersetzer, function (response) {
                findAllUebersetzers(setAllUebersetzers);
            });
        }

        function findAllUebersetzers(callback) {
            UebersetzerService.findAllUebersetzers(callback);
        }

        function setAllUebersetzers(uebersetzers) {
            vm.uebersetzers = uebersetzers;
        }

        findAllUebersetzers(setAllUebersetzers);
    }

})();

Uebersetzer.html

<h1>Uebersetzer</h1>
<table class="table table-striped">
    <thead>
    <tr>
        <th>Name</th>
        <th>Sprache</th>
        <th>Zeit</th>
    </tr>
    <tr>
        <td><input ng-model="controller.uebersetzer.name" class="form-control" placeholder="Name" type="text"/></td>
        <td><input ng-model="controller.uebersetzer.sprache" class="form-control" placeholder="Sprache" type="text"/>
        <td><input ng-model="controller.uebersetzer.zeit" class="form-control" placeholder="Zeit" type="time"/>
            <button ng-click="controller.addUebersetzer(controller.uebersetzer)" class="btn btn-primary">
                <span class="glyphicon glyphicon-plus"></span>
            </button>
            <button ng-click="controller.updateUebersetzer(controller.uebersetzer)" class="btn btn-success">
                <span class="glyphicon glyphicon-ok"></span>
            </button>
        </td>
    </tr>
    </thead>
    <tbody>
    <tr ng-repeat="uebersetzer in controller.uebersetzers">
        <td>{{uebersetzer.name}}</td>
        <td>{{uebersetzer.sprache}}</td>
        <td>{{uebersetzer.zeit|minDate|date:'HH:mm'}}</td>
        <td>
            <button ng-click="controller.removeUebersetzer(uebersetzer._id)" class="btn btn-danger">
                <span class="glyphicon glyphicon-remove"></span>
            </button>
            <button ng-click="controller.selectUebersetzer(uebersetzer._id)" class="btn btn-info">
                <span class="glyphicon glyphicon-pencil"></span>
            </button>
        </td>
    </tr>
</table>

我有&#34; app.post&#34;有两个控制台命令。 console.log在我的日期之前显示我(&#34;在1970-01-01T00之前:11:00.000Z&#34;),但转换后它只显示NaN。我的角色是timeToMinutes()。

在&#34; app.get&#34;会议记录来自数据库,我将其更改为日期。我的两个给了console.log&#34;在100&#34;之前通过id获取uebersetzer和#34;获取uebersetzer by id Sun June 24 1906 01:40:00 GMT + 0200(中欧夏令时)&#34;,但它不在html接受的输入字段中,尽管其他数据是从字段中的数据库(名称和sprache)写。我希望它不是太多代码或太少。我为我糟糕的英语道歉。

1 个答案:

答案 0 :(得分:0)

timeToMinutes函数内部存在错误。 getHoursgetMinutes是函数,因此您需要使用()调用函数。它应该是这样的:

function timeToMinutes(time) {
    var hours = (new Date(time)).getHours() * 60;
    var minutes = (new Date(time)).getMinutes() ;
    time = hours + minutes;
    console.log(time);
    return time;
}