javascript - 让我自己的过滤器不起作用

标签 javascript angularjs

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

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

我的代码:

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

最佳答案

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

您可以打开开发控制台并查看是否看到任何错误 - 我猜您会看到。

删除它使其工作:

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

Fiddle

关于javascript - 让我自己的过滤器不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29393922/

相关文章:

javascript - jQuery if/else 语句使用多个按钮切换内容

javascript - 按键组合json数组,javascript

javascript - 按单词进行过滤而不隐藏它们

javascript - 精细 uploader 并发分块 - 端点

javascript - 如何在 Angular 7 中解析 json?

javascript - 根据多种条件处理不同颜色的文本

javascript - ng-repeat 按 id 进行跟踪,如何在 ng-repeat 中进行过滤

javascript - AngularJs数据绑定(bind)问题来捕获和显示状态

angularjs 丢失小数和负值被忽略

javascript - 如何匹配/捕获元素的outerHTML 的开始标签