Ошибка при вычитании даты (невозможно интерполировать)

Привет, я сделал простую функцию для вычитания дат, но я продолжаю выдавать ошибку.

Код JS:

        $scope.tosum = function(d1, d2) {

        var d3 = new Date(d1.getTime() - d2.getTime());
        console.log(d3);
        return d3;
    };

Ошибка консоли:

Error: [$interpolate:interr] Can't interpolate: 
{{tosum(timesheet.startDate,timesheet.endDate )}}
TypeError: undefined is not a function

Просмотр/html сайта:

  <tr data-ng-repeat="timesheet in timesheetsCtrl.timesheets | filter:searchText">
   <td>{{tosum(timesheet.startDate,timesheet.endDate )}}</td>

Я также пробовал без .getTime, это дает «Неверную дату» в консоли.


person Stweet    schedule 05.02.2015    source источник
comment
Если вы регистрируете d1 и d2, уверены ли вы, что это правильно определенные даты, а не какой-либо другой тип объекта?   -  person mgilson    schedule 05.02.2015
comment
что содержит timesheet.startDate?   -  person Pankaj Parkar    schedule 05.02.2015
comment
console.log('d1:' +d1+ ' - d2:'+ d2); вывод: d1:2015-02-02T23:00:00.000Z - d2:2015-02-04T15:16:01.416Z   -  person Stweet    schedule 05.02.2015
comment
@pankajparkar это свидание из mongodb   -  person Stweet    schedule 05.02.2015
comment
в пользовательском интерфейсе он должен <td>{{tosum(timesheet )}}</td> код JS $scope.tosum = function(timesheet ) { var d3 = new Date(timesheet.startDate.getTime() - timesheet.endDate.getTime()); console.log(d3); return d3; };   -  person Pankaj Parkar    schedule 05.02.2015
comment
@pankajparkar по-прежнему выдает Невозможно интерполировать: {{tosum(timesheet)}}   -  person Stweet    schedule 05.02.2015
comment
$scope.tosum должен быть внутри вашего контроллера... можете ли вы добавить свой код контроллера к своему вопросу?   -  person Pankaj Parkar    schedule 05.02.2015
comment
Получил это, чтобы работать таким образом! :) stackoverflow.com/questions /15298663/   -  person Stweet    schedule 05.02.2015


Ответы (1)


Вы используете контроллер As?

Если нет, просто напишите имя функции, иначе вам нужно будет добавить префикс к имени контроллера.

person Peter Ashwell    schedule 05.02.2015
comment
в том же контроллере изменено на this.tosum = function(d1, d2) {..... ‹td›{{timesheetsCtrl.tosum(timesheet.startDate,timesheet.endDate )}}‹/td›, но все та же ошибка - person Stweet; 05.02.2015