【问题标题】:Cannot read property '#<Object>' of undefined getting error?无法读取未定义获取错误的属性“#<Object>”?
【发布时间】:2014-08-11 16:59:51
【问题描述】:

我有 json 文件。我正在尝试从 json 文件中获取 json 数据。然后我需要转换 json(更改键和值)键和值,因为这个 puglin 需要在键和值和 https://github.com/nimbly/angular-formly 中的那个格式。 但我的问题是从这个插件获取表单。 无法读取未定义的属性“# 你能告诉我哪里错了吗? 问题重现。单击按钮(从文件中获取 json)。然后您将在控制台中看到该错误。我想在单击按钮时显示表单(单击以 grt json A) 普朗克 http://plnkr.co/edit/bbd6D828TU8TpZYre9D0?p=preview

$scope.getFromAFile= function () {
  // body...
  var inputs=[];
  $http.get('a.json').success (function(data){
    var a=changeData(data);
          console.log('pp');

  console.log(data.studentName);
  $scope.formFields.push(a['input']);


}).error(function(err){
        alert(err);
    });

}

function changeData(data) {

    var map = { NUMBER: "number", TEXT: "text", SWITCH: "select" };

    // data is an object - use for .. in to enumerate
    for (var key in data.input) {
        var e = data.input[key];   // alias for efficient structure dereferencing
        e.label = e.displayName;
        e.title = e.displayDetail;
        e.type = map[e.inputType];

        delete e.displayName;
        delete e.displayDetail;
        delete e.inputType;
    }

    console.log('after data...');
    console.log(data);
    return data;
};

谢谢

【问题讨论】:

    标签: javascript jquery angularjs angularjs-directive


    【解决方案1】:

    您正在尝试将push 放入不存在的$scope.formFields 数组中。

    这行得通。 http://plnkr.co/edit/p5niu38aWpN5BbIxcyZ0?p=preview

    $scope.getFromAFile= function () {
      // body...
      var inputs=[];
      $http.get('a.json').success (function(data){
        var a=changeData(data);
              console.log('pp');
    
      console.log(data.studentName);
      console.log($scope);
      $scope.formFields = a['input'];
    
    
    }).error(function(err){
            alert(err);
        });
    
    }
    

    【讨论】:

    • 感谢您的回答..!!请检查是否有问题..我给了四个字段它只显示三个。其次没有下拉列表
    • 还有一个问题如果你点击第一个按钮,它会显示表单,当你点击第二个按钮时,它不会显示表单
    • 你知道这些问题吗
    • 我没有更改函数getFromBFile 这取决于你。我不知道您使用的插件到底需要什么,所以这将是一个不同的问题。
    • 如果你有任何想法stackoverflow.com/questions/25247803/…plee check
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-01-02
    • 2021-10-08
    • 2020-06-16
    • 2021-12-31
    • 2022-10-05
    • 2022-07-06
    • 2020-10-15
    相关资源
    最近更新 更多