当前位置: 首页 > 面试题库 >

如何使用angular从json生成视图(窗体)?

闻人仲渊
2023-03-14
问题内容

我正在尝试从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

  • “ displayName”:显示来自输入文本字段的标签名称。
  • inputValues:表示填充的tmput的类型。如果是数字,则用户仅填充数字,文本,然后,用户仅填充数字,电子邮件,然后用户填充电子邮件,如果切换则通过给定选项下拉。
  • “必填”字段是否为必填项?

问题答案:

假设您JSON来自配置文件或服务,则可以从获取JSONas作为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数组:

$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公开



 类似资料:
  • 问题内容: 我之前从未使用过JSON,并且尝试使用以下javascript:http : //jqueryselectcombo.googlecode.com/files/jquery.selectCombo1.2.6.js 它需要以下格式的JSON输出: 您能否指导我举一个有关如何使用PHP生成上述JSON输出的示例? 问题答案: 最简单的方法可能是从所需的对的关联数组开始: 然后使用forea

  • 问题内容: 在Smarty中,是否有一个标准函数或一种简单的方法可以从数组生成json,就像在PHP中一样? 我想在Smarty文档中看不到它。 问题答案: 这应该工作。@使smarty对整个数组运行修饰符,否则对每个元素执行修饰符。 如果启用$ escape_html ,则需要使用:

  • > 我可以从存储库下载图像,但希望看到生成它们的方法。 我喜欢保存快照的想法,但是一旦我完成了,最好有一个结构化的格式来检查所做的事情。

  • 我试图创建一个视频从jpeg图像使用ffmpeg。生成的视频应为x264或x265格式。 我有一个36张图片的目录。每个图像大小约为60像素。它们的名称如下: 第00000帧。jpg 框架00001。jps 框架00002。jpg 框架00035。jpg 我阅读了SO中的文档和几篇文章,并编写了一个批处理文件来调用ffmpeg,如下所示: 当我运行这个命令时,我从ffmpeg得到了这个输出,这很奇

  • 问题内容: 假设您位于用户控制器中,并且想要获取显示请求的json响应,那么可以在您的views / users /目录中创建一个名为show.json的文件,并在用户之后#show操作完成后,它将呈现文件。 当前,您需要执行以下操作: 但是,如果您可以创建一个show.json文件,它会像这样自动呈现,那就太好了: 这将为我节省大量的痛苦,并且会消除我在控制器中渲染json时得到的那种可怕的肮脏

  • 问题内容: 假设我有以下3个Angular UI Router状态: 如果直接转换为,我该如何告诉Angular UI Router进入状态? 理想情况下,我想要的是这样的: 然后,在我的代码中,我希望$ state.go(’adminCompanies’)等同于$ state.go(’adminCompanies.list’) 问题答案: 由于您的应用程序当前已设置,因此您不需要任何明确的逻辑。