Angular-Schema-Form Change模式改变时的表单

Angular-Schema-Form Change FORM on SCHEMA change

本文关键字:表单 改变 Change 模式 Angular-Schema-Form      更新时间:2023-09-26

我有一个问题,改变json模式与角模式形式。如果我像这样在代码中设置模式

$scope.schema = {
    "$schema": "http://json-schema.org/draft-04/schema#",
    "title": "Schema number ONE",
    "type": "object",
    "properties": {..

它的工作和渲染整个形式正确,因为我想要的。但是我想从web service加载数据。

所以我试着设置schema为什么,然后通过点击按钮来改变它,但它不起作用。我的意思是,我从服役中得到了图式,但形式不会改变。例如:

$scope.schema = {};
$scope.changeSchema= function(){
    $scope.schema = {
        "$schema": "http://json-schema.org/draft-04/schema#",
        "title": "  Schema number two that I want",
        "type": "object",
        "properties": {
}

我想要的是选择模式加载和改变形式模式我选择。非常感谢。

正如claes在他们的评论中指出的那样,您需要触发schemaFormRedraw广播。然而,在加载时,错误是由于对模式的验证,你有作为{},这将需要一个临时模式,沿着这些行应该工作:

$scope.schema = { "type": "object", "properties": {} }};
$scope.changeSchema = function() {
    $scope.schema = {
        "$schema": "http://json-schema.org/draft-04/schema#",
        "title": "  Schema number two that I want",
        "type": "object",
        "properties": {...}
    }
    $scope.$broadcast('schemaFormRedraw');
}