让我自己的过滤器不工作

时间:2015-04-01 14:48:01

标签: javascript angularjs

我正在尝试在angularjs制作我自己的过滤器,但我猜错的方式是错误的。但我无法得到留在这里的东西,需要更新。

任何人帮我解决这个问题?我想我需要将此过滤器转换为服务?如果是这样,这样做的正确方法是什么?

我的js:

angular.module('myApp', [])
angular.module('myApp.filters', [])
.filter('capitalize', function(capitalize) {
    return function(input) {
    if (input)
    return input[0].toUpperCase() +
    input.slice(1);
    }
});

HTML:

<div ng-app="myApp">
  {{ "San Francisco is very cloudy" | lowercase | capitalize  }}
</div>

Demo

1 个答案:

答案 0 :(得分:3)

您的过滤器有一个问题,不确定这是不是您的意思 - 但在您的功能中,您有function(capitalize),这使Angular相信您拥有该名称的服务/工厂。如果那是你在某个地方然后很好的东西,但它似乎也不像你在使用它。

你可以打开你的开发者控制台,看看你是否看到任何错误 - 我的猜测是你会的。

删除它使它工作:

myApp.filter('capitalize', function() {
    return function(input) {
        if (input)
            return input[0].toUpperCase() + input.slice(1);
    }
});

Fiddle