我正在尝试从json创建视图。当我有对象数组时。我能够创建视图并验证该视图。如果我有这个对象数组,在那种情况下,我可以查看,检查plunker http://plnkr.co/edit/eD4OZ8nqETBACpSMQ7Tm?p=preview
[{ type: "email", name: "email", required:true }, { type: "text", name: "name", required:true }, { type: "number", name: "phonenumber", required:true }, { type: "checkbox", name: "whant to check" }, { type: "url", name: "server Url" }];
现在问题出在我有json对象时。我需要显示json对象的视图。我不知道从哪里开始工作,我有这个json
假设您JSON来自配置文件或服务,则可以从获取JSONas作为JSON对象开始:
JSON
angular.module('myapp', []) .controller('MyController', ['$scope', function($scope) { $scope.outputs = {}; $scope.rawInput = JSON.parse( '{"studentName": "abc", \ "input": {\ "loginUser": {\ "displayDetail": "UserId for login.",\ "displayName": "Login User Id*",\ "inputType": "TEXT",\
(我必须对返回值进行转义以允许JSON解析漂亮的打印字符串)
一旦有了它,您就快到了。现在,您可以按照需要的级别JSON构建inputs数组:
inputs
$scope.formInputs = $scope.rawInput['input']; $scope.inputs = []; angular.forEach($scope.formInputs, function(value, key) { /* do something for all key: value pairs */ $scope.inputs.push({"type":value.inputType.toLowerCase(),"name":value.name,"required": value.required}) });
请注意,您可能应该在此处进行一些错误检查-就本示例而言,我不使用任何错误检查。 这是演示此代码的工作plnkr。
我还没有全部工作-您必须构造选择或单选按钮输入,但是我认为您应该可以从这里开始使用它。
编辑 我没有将plnkr公开