解析工厂中声明的数组时,“无法读取未定义的属性'id'”

乔治·内图

我正在构建一个基本的应用程序(带有MEAN Web框架和Node Webkit),以便更好地了解angularjs。

这是我的内容 notificationFactory.js

function notificationFactory() {

    var fooMessages = [

        {
            id: 4,
            dismissable: true,
            name: "fooooBaaar",
            function: '',
            showInTopBar: false,
            priority: "high",
            icon: 'fooIconBarBarBar',
            topBarIcon: 'fooIconIconIcon'
        },

        {
            id: 3,
            dismissable: true,
            name: "foofooBarBar",
            function: '',
            showInTopBar: false,
            priority: "high",
            icon: 'fooIconfooIcon',
            topBarIcon: 'IconIconIcon'
        },

        {
            id: 2,
            dismissable: true,
            name: "foo foo",
            function: '',
            showInTopBar: false,
            priority: "high",
            icon: 'fooBaaaaaar',
            topBarIcon: 'IconFooIcon'
        },

        {
            id: 1,
            dismissable: true,
            name: "foo",
            function: '',
            showInTopBar: false,
            priority: "high",
            icon: 'fooIcon',
            topBarIcon: 'fooIconIcon'
        },
    ]

    fooMessages.TopBarDismiss = function (message) {
        $.each(fooMessages, function (i, v) {
            if(v.id = message.id) {
                fooMessages.splice(i,1);
            }
        });

    }

    return fooMessages;

}

angular.module('fooDemo').factory('notificationFactory', notificationFactory);

TopBarDismiss()使用以下代码在HTML模板中调用该函数:

<div class="fooDismiss" ng-click="notificationFactory.TopBarDismiss(message)">Dismiss</div>

当我按下“关闭”按钮后检出控制台时,得到以下信息:

 TypeError: Cannot read property 'id' of undefined
at notificationFactory.js:94
at Function.m.extend.each (jquery.min.js:2)
at Array.fooMessages.TopBarDismiss (notificationFactory.js:93)
at fb.functionCall (angular.js:10847)
at angular-touch.js:472
at k.$get.k.$eval (angular.js:12702)
at k.$get.k.$apply (angular.js:12800)
at HTMLDivElement.<anonymous> (angular-touch.js:471)
at angular.js:3097
at r (angular.js:325)angular.js:10072 (anonymous function)angular.js:7364 $getangular.js:12802 $get.k.$applyangular-touch.js:471 (anonymous function)angular.js:3097 (anonymous function)angular.js:325 rangular.js:3096 r.triggerHandlerangular.js:3111 S.(anonymous function)angular-touch.js:453 (anonymous function)angular.js:2853 (anonymous function)angular.js:325 rangular.js:2852 c

所以一定是

$.each(fooMessages, function (i, v) {
    if (v.id == message.id) {
    } 
});

相当恐怖的部分

各位,能为我找出错误吗?

奥姆里·阿哈隆(Omri Aharon)

首先,如评论中所述,您需要确保message传递对象确实是您要查找的对象。

然后,如果您只想拼接,则可以执行以下操作:

fooMessages.TopBarDismiss = function (message) {
        var index;
        for (var i = 0; i < fooMessages.length; i++) {
            if(fooMessages[i].id == message.id) {
                index = i;
                break;
            }
        }
        if (index) {
              fooMessages.splice(index,1);
        } 

}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

删除时出错:无法读取未定义的属性“ id”

来自分类Dev

无法读取未定义的属性“ id”

来自分类Dev

在 javascript Uncaught TypeError 中使用数组的动态循环时,for 循环中的问题:无法在 saveSign 读取未定义的属性“id”

来自分类Dev

灰烬路线:无法读取未定义的属性“ id”

来自分类Dev

guildBanAdd无法读取未定义的属性“ id”

来自分类Dev

UnhandledPromiseRejectionWarning:TypeError:无法读取未定义的属性“ id”

来自分类Dev

Gatsby TypeError-无法读取未定义的属性“ id”

来自分类Dev

MERN-TypeError:无法读取未定义的属性“ id”

来自分类Dev

Serverless:“ errorMessage”:“无法读取未定义的属性” id“,

来自分类Dev

Angular Material TypeError:无法读取未定义的属性“ id”

来自分类Dev

用户注销后无法读取未定义的属性“ _id”

来自分类Dev

UnhandledPromiseRejectionWarning:TypeError:无法读取未定义的属性“ id”

来自分类Dev

guildBanAdd无法读取未定义的属性“ id”

来自分类Dev

无法读取未定义的属性“ id”。表示

来自分类Dev

JWT-TypeError:无法读取未定义的属性“id”

来自分类Dev

使用猫鼬findOneandUpdate时无法读取未定义的属性'_id'

来自分类Dev

MongoError:TypeError:使用$ or时,无法读取未定义的属性“ id”

来自分类Dev

未处理的拒绝(类型错误):比较 id 时无法读取未定义的属性“”

来自分类Dev

Angular2-TypeError:无法读取(Typescript)中未定义的属性'Id'

来自分类Dev

DatePicker:当多个数组ID时,无法设置未定义的属性“ currentDay”

来自分类Dev

AngularJS + Fullcalendar发送错误TypeError:无法读取未定义的属性'__id'

来自分类Dev

TypeError:无法读取未定义的属性'id'-Sails和MongoDB

来自分类Dev

未捕获的TypeError:无法读取registerNgModuleType上未定义的属性“ id”-角度PWA

来自分类Dev

NodeJs TypeError:无法读取未定义的属性“ Customer_id”

来自分类Dev

无法读取未定义的属性“代码”,解码Firebase ID令牌失败

来自分类Dev

core.js:6406错误TypeError:无法读取未定义的属性“ id”

来自分类Dev

功能组件到类组件错误:无法读取未定义的属性“ id”

来自分类Dev

TypeError:无法读取未定义的属性“ id” Discord.js

来自分类Dev

错误错误:未捕获(承诺):TypeError:无法读取未定义的属性“ id”

Related 相关文章

  1. 1

    删除时出错:无法读取未定义的属性“ id”

  2. 2

    无法读取未定义的属性“ id”

  3. 3

    在 javascript Uncaught TypeError 中使用数组的动态循环时,for 循环中的问题:无法在 saveSign 读取未定义的属性“id”

  4. 4

    灰烬路线:无法读取未定义的属性“ id”

  5. 5

    guildBanAdd无法读取未定义的属性“ id”

  6. 6

    UnhandledPromiseRejectionWarning:TypeError:无法读取未定义的属性“ id”

  7. 7

    Gatsby TypeError-无法读取未定义的属性“ id”

  8. 8

    MERN-TypeError:无法读取未定义的属性“ id”

  9. 9

    Serverless:“ errorMessage”:“无法读取未定义的属性” id“,

  10. 10

    Angular Material TypeError:无法读取未定义的属性“ id”

  11. 11

    用户注销后无法读取未定义的属性“ _id”

  12. 12

    UnhandledPromiseRejectionWarning:TypeError:无法读取未定义的属性“ id”

  13. 13

    guildBanAdd无法读取未定义的属性“ id”

  14. 14

    无法读取未定义的属性“ id”。表示

  15. 15

    JWT-TypeError:无法读取未定义的属性“id”

  16. 16

    使用猫鼬findOneandUpdate时无法读取未定义的属性'_id'

  17. 17

    MongoError:TypeError:使用$ or时,无法读取未定义的属性“ id”

  18. 18

    未处理的拒绝(类型错误):比较 id 时无法读取未定义的属性“”

  19. 19

    Angular2-TypeError:无法读取(Typescript)中未定义的属性'Id'

  20. 20

    DatePicker:当多个数组ID时,无法设置未定义的属性“ currentDay”

  21. 21

    AngularJS + Fullcalendar发送错误TypeError:无法读取未定义的属性'__id'

  22. 22

    TypeError:无法读取未定义的属性'id'-Sails和MongoDB

  23. 23

    未捕获的TypeError:无法读取registerNgModuleType上未定义的属性“ id”-角度PWA

  24. 24

    NodeJs TypeError:无法读取未定义的属性“ Customer_id”

  25. 25

    无法读取未定义的属性“代码”,解码Firebase ID令牌失败

  26. 26

    core.js:6406错误TypeError:无法读取未定义的属性“ id”

  27. 27

    功能组件到类组件错误:无法读取未定义的属性“ id”

  28. 28

    TypeError:无法读取未定义的属性“ id” Discord.js

  29. 29

    错误错误:未捕获(承诺):TypeError:无法读取未定义的属性“ id”

热门标签

归档