【问题标题】:Lodash: TypeError: Cannot read property 'name' of undefinedLodash:TypeError:无法读取未定义的属性“名称”
【发布时间】:2016-04-11 13:39:48
【问题描述】:

我正在关注复数视觉 - 使用 ionic 构建移动应用程序。

但是这段代码一直显示 TypeError: Cannot read property 'name' of undefined

如果我注释掉 vm.teamName = team.name;它有效,但不会显示团队名称。这是代码

var team = _.chain(data.teams)
                    .flatten("divisionTeams")
                    .find({ "id": vm.teamId })
                    .value();

        vm.teamName = team.name;

【问题讨论】:

    标签: angularjs ionic-framework lodash


    【解决方案1】:

    它明确指出team 未定义。在尝试从object 访问属性之前,检查您在执行console.log(team) 时得到的结果。

    var team = _.chain(data.teams)
                        .flatten("divisionTeams")
                        .find({ "id": vm.teamId })
                        .value();
    
    vm.teamName = team.name;
    

    【讨论】:

      【解决方案2】:

      我建议如下:

      var divisionTeams = _.map(data.teams, function(team) {
        return team.divisionTeams;
      });
      
      var team = _.find(_.flatten(divisionTeams), {id: 1});
      

      _.flatten 不接受这种论点。见docs

      这是一个有效的小提琴:https://jsfiddle.net/trollr/22sowjhj/

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-12-06
      • 2022-01-22
      • 2021-11-13
      • 2022-01-14
      • 2022-06-22
      • 2017-02-06
      相关资源
      最近更新 更多