角度过滤器不在组件中工作

时间:2016-07-13 21:42:10

标签: angularjs components angular-filters

我有一种感觉我在这里错过了一些看似简单的东西...我在一个紧迫的截止日期创建了一个应用程序,所以我在一个应用程序中创建了控制器,过滤器甚至静态服务。 js文件。

我现在正致力于使用.component()模型拆分应用程序并创建更好的独立服务以从数据库获取实时数据。转换为组件一直运行良好,但我遇到了过滤器的问题。它们仍然存在于原始的app.js中,并且在那里定义控制器时工作正常,但现在过滤器似乎不在新的组件模板中工作。当我将过滤器应用于组件模板中的值时,似乎不会返回该值,并且页面上不会显示任何内容。

示例过滤器:

app.filter('commaDelimitedNumber', function(){
    return function(val){
        var v = (val !== undefined) ? val.toString() : '0';
        return v.replace(/\B(?=(\d{3})+(?!\d))/g, ',');
    };
});

从组件调用:

<div>{{ $ctrl.metric.shortVals[$ctrl.currentFilter] | display:[$ctrl.currentFilter] | commaDelimitedNumber }}</div>

额外注释......包含过滤器的组件是使用此结构的子组件:

angular.module (index.html including the app.js file)
   <metrics-component> (component .js file with template html file which contains...)
      <metrics-list-component> (component .js file with template html file which contains...)
         <metric-component> (component .js file with template html file which contains...)
            <div>{{ 12345678 | commaDelimitedNumber }}</div>

1 个答案:

答案 0 :(得分:0)

呃......我发现了这个问题。它不是组件/过滤器组合的问题,它是我没有通过组件的一段数据。我期待一个过于复杂的问题,它最终成为一个疏忽。糟糕!