在angularjs中将月份编号转换为月份名称时出错

时间:2016-11-03 08:58:30

标签: angularjs ionic-framework filter

我使用此过滤器将月份数转换为月份名称,其工作正常:

.filter('monthName', [function() {
 return function (monthNumber) { //1 = January
var monthNames = [ 'January', 'February', 'March', 'April', 'May', 'June',
  'July', 'August', 'September', 'October', 'November', 'December' ];
return monthNames[monthNumber - 1];

}

查看:

 <canvas id="line" class="chart chart-line" chart-data="dataf"
        chart-labels={{labelsf | monthName}} chart-series="seriesf" chart-options="options"
        chart-dataset-override="datasetOverride" chart-click="onClick">
</canvas>

但它给了我这个错误:

ionic.bundle.js:26794 Error: [$parse:syntax] Syntax Error: Token '{' invalid key at column 2 of the expression [{{labelsf] starting at [{labelsf].

任何人都可以告诉我这是什么错误,任何人都可以告诉我如何在js代码中而不是在视图中应用这个过滤器?

3 个答案:

答案 0 :(得分:0)

请删除[in

.filter('monthName', [function() {

.filter('monthName', function() {

答案 1 :(得分:0)

您可以在控制器中注入$filter并使用它,如下所示:

function Ctrl($scope, $filter){
    $filter('monthName')(arg1);
}

答案 2 :(得分:0)

我建议您使用$locale服务作为DI,特别使用$locale.DATETIME_FORMATS.MONTH数组。