TypeError:无法读取属性'匹配'未定义的

时间:2017-03-30 19:12:45

标签: angularjs

我正在集成一个过滤器,用于从数据库中提取用户的首字母。奇怪的是,它确实有效。但我的控制台并不喜欢它,我不喜欢我的控制台中的红色文字。我用两种不同的方式尝试了这个

选项1.

    (function ()
    {
        'use strict';

        angular
            .module('app.core')
            .filter('shortName', shortName);

        /** @ngInject */
        function shortName() {
            return function(fullName) {
                var name = fullName;
                var inls = name.match(/\b\w/g) || [];
                inls = ((inls.shift() || '') + (inls.pop() || '')).toUpperCase();
                return inls;
            };
        }


    })();

选项2.

    return function(fullName) {
        var shortName="",
        nameTokens = [];
        nameTokens = fullName.split(" ");
        nameTokens.forEach(
            function(token){
                 shortName+=token[0]
            });
        return shortName;
    }; 

但无论我做了什么,虽然它们有效,但它们会在.match.split上给出同样的错误。我怎么摆脱这个?我做错了什么?

到目前为止,网上的每一条记录都指向Morris json的问题,但这与Morris毫无关系。

结果很简单。用户创建一个帐户并输入名称。系统创建带有首字母的头像。与Microsoft非常相似。

CODEPEN HERE

提前致谢

0 个答案:

没有答案