无法读取未定义获取错误的属性“#<object>”?</object>

时间:2014-08-11 16:59:51

标签: javascript jquery angularjs angularjs-directive

我有json文件。我试图从json文件中获取json数据。然后我需要转换json(更改键和值)键和值,因为这个puglin需要在键和值https://github.com/nimbly/angular-formly中使用该格式。 但我的问题是从这个插件获取表单的方法。 无法读取属性'#&lt; Object&gt;'未定义 你能告诉我哪里错了吗? 问题重现.click on button(从文件中获取json)。然后你会在控制台中看到这个错误。我想在点击按钮时显示表单(点击grt json A) Plunker 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;
};

由于

1 个答案:

答案 0 :(得分:0)

您正试图将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);
    });

}