首页 > 解决方案 > 如果在angularjs表单中未定义对象,如何返回空白字符串

问题描述

我有一个表单模型,用于在 AngularJS 中映射我的表单字段。由于我正在更新数据库上的这些字段,因此我想在用户提交表单并返回表单后检索这些字段。

表单对象:

vm.user = {
        userBag:[
          {
            name: nameService.nameBag[0].organizationName
          },
          {
            name: nameService.nameBag[1].organizationName,
          },
          {
            name: nameService.nameBag[2].organizationName,
          }
        ]
  };

我已经对表单对象进行了编码以返回数据库字段,但是当用户最初在字段中没有提交任何内容 bc 对象为空时,我遇到了错误。得到错误:

“TypeError:无法读取未定义的属性‘organizationName’”

nameServie只是一个获取获取的获取调用。

nameService如果是,如何使名称字段仅返回空白undefined

标签: javascriptangularjs

解决方案


您可以使用三元运算符来实现它:

 vm.user = {
        userBag:[
          {
            name: (nameService && nameService.nameBag && nameService.nameBag[0]) ? nameService.nameBag[0].organizationName : ""
          },
          {
            name: (nameService && nameService.nameBag && nameService.nameBag[1]) ? nameService.nameBag[1].organizationName : ""
          },
          {
            name: (nameService && nameService.nameBag && nameService.nameBag[2]) ? nameService.nameBag[2].organizationName : "",
          }
        ]
    };

推荐阅读