javascript - 在angularJS中向数组添加另一个变量

标签 javascript angularjs web-deployment

所以我正在编辑一些代码,我想将另一个变量添加到数组中。下面的代码完美运行:

submit.addAttributeValue = function() {
    var aValue = submit.status.newAttributeValue;
    var aType = submit.status.selectedAttributeType;
    console.log('adding value', aValue, aType)
    if(aValue && aType ) {
        submit.ProductMeta['attributes'][aType][aValue] = true;
    };
};

然后我将变量 aPrice 添加到函数中:

submit.addAttributeValue = function() {
    var aValue = submit.status.newAttributeValue;
    var aType = submit.status.selectedAttributeType;
    var aPrice = submit.status.newAttributePrice;
    console.log('adding value', aValue, aType, aPrice)
    if(aValue && aType ) {
        submit.ProductMeta['attributes'][aType][aValue][aPrice] = true;
    };
};

我得到错误:

错误:submit.ProductMeta.attributes[aType][aValue] 未定义 submit.addAttributeValue@http://dubdelivery.com/js/controllers-submit.js:369:13

ProductMeta 定义为:submit.ProductMeta = {};

关于我应该如何处理这个问题有什么建议吗?

谢谢!

最佳答案

你的数组是空的,所以你不能在第一级之前设置第二级字段

如果你有

var obj = {};

你必须设置

obj.firstItem

之前

obj.firstItem.secondItem

这是一个 example

关于javascript - 在angularJS中向数组添加另一个变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44272157/

相关文章:

javascript - Make Copied 值在 javascript 中不可更改或编辑

python - 单击引导按钮/链接时如何传递参数?

angularjs - 如何将常规用户名/密码登录与 Spring Boot + Angular 单页 Web 应用程序的第 3 方社交登录集成?

javascript - 验证函数不应接受字母字符

django - 将 Django 项目部署到实时(登台)站点有多痛苦?

java - 如何在tomcat上部署java应用并在线访问

javascript - Nextjs 13 头部自定义 <link> 标签

javascript - PubNub JavaScript SDK : PNmessage is not defined

javascript - Vue 和原生消息传递

asp.net - 使用 AngularJS 和 Asp.Net MVC 上传带有 FormData 的多个文件