我有json文件。我试图从json文件中获取json数据。然后我需要转换json(更改键和值)键和值,因为这个puglin需要在键和值https://github.com/nimbly/angular-formly中使用该格式。 但我的问题是从这个插件获取表单的方法。 无法读取属性'#< Object>'未定义 你能告诉我哪里错了吗? 问题重现.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;
};
由于
答案 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);
});
}