错误:value.split不是函数

时间:2016-09-13 15:45:19

标签: angularjs

我试图在AngularJS中编写自定义过滤器。此过滤器将使文本大写。在执行代码时,此错误已被抛出“错误:value.split不是函数

文件“filter.js”:

B

档案“filter.html”:

"use strict";
    angular.module("MyApp", []);
    angular.module("MyApp").controller("UserController", ["$scope", function($scope)
    {
        this.infos = 
        {
            firstname: "David",
            lastname: "Michel",
            cellphone: 123456
        };
    }]);

    angular.module('MyApp').filter('capitalize', function()
    {
        return function(value){
            var result = null;
            var words = value.split(' ');
            words.forEach(function(item){
                if (result){
                    result += ' ';
                }else{
                    result = '';
                }
                result += item.substr(0, 1).toUpperCase() + item.substr(1).toLowerCase();
            });
            return result;
        };
    });

1 个答案:

答案 0 :(得分:0)

问题似乎是你有一个名为value的函数参数,它隐藏了外部变量value

尝试将您的值声明为变量,如下所示:

 angular.module('MyApp').filter('capitalize', function()
{
    return function(){
        var value = 'something';
        var result = null;
        var words = value.split(' ');
        words.forEach(function(item){
            if (result){
                result += ' ';
            }else{
                result = '';
            }
            result += item.substr(0, 1).toUpperCase() + item.substr(1).toLowerCase();
        });
        return result;
    };