我遍歷的日期列表(jobs.submitted):在AngularJS表達式計算功能
<div ng-controller="DashboardController as dashboard">
<div ng-repeat="job in dashboard.jobs | filter: {status: 'started'}" class="row">
<div class="col-xs-3">{{job.submitted}}</div>
</div>
現在我想計算的持續時間:
(new Date(job.submitted)) - (new Date(job.completed))
如果我直接把這個到表達式我得到一個語法錯誤(我猜angularJS不明白日期對象)。
如果我把它改成一個函數,該函數在控制器,功能從不計算:
{{dashboard.getDuration(job)}}
是空白。
解決此問題的最佳方法是什麼?
你加'getDuration'作爲你的'jobs'對象的屬性?或者它在你的控制器上? 「儀表板」是你的控制器嗎?我們需要更多信息。 – JLRishe
如果提供了jsfiddle,幫助你真的更容易。你有沒有試過把'Date'放入'$ scope'('$ scope.Date = Date'),或者只是'{{jobs.getDuration(job)}}'(假設你做了'this.jobs.getDuration = function。 ..')? –
'dashboard.jobs'似乎是一個數組,在那裏沒有函數'getDuration'。因此,看起來您需要將getDuration添加到'$ scope'或您的控制器中的'this'中,然後使用controller As語法。 –