【问题标题】:Which frontend framework for consuming resources described with json schema?哪个前端框架用于消耗使用 json 模式描述的资源?
【发布时间】:2012-10-15 19:56:11
【问题描述】:

鉴于我有一个 API,它通过 json-schema 描述它的不同资源,如下所示: https://github.com/salesking/sk_api_schema/blob/master/json/v1.0/address.json

是否有可以将 json-schema 用作(或将其转换为)模型的前端 javascript 框架?应该可以根据 json 模式验证模型,并且应该能够处理不同 json-schema 模型之间的引用。

我一直在研究 ember.js,但似乎即使我编写了一些代码来将 json 模式转换为 ember 模型,要让 ember.js 模型的验证工作仍然相去甚远.对吗?

【问题讨论】:

  • 另外,资源不是静态的,所以无法处理模型
  • 我认为没有任何列出的框架可以开箱即用地做到这一点。具体来说,使用淘汰赛,在您设法构造它之后,从无法确定的对象图中创建视图 (UI) 也会带来额外的困难。

标签: backbone.js knockout.js ember.js angularjs jsonschema


【解决方案1】:

在不太了解 JSON Schema 的情况下,我相信 Knockout 可以相当轻松地支持这一点。

由于 KO 模型可以是任何 Javascript 对象,您只需要读取架构,并从每个“properties”属性的属性生成一个对象(哈哈)

您还可以使用 Knockout Validation 插件动态添加验证: https://github.com/ericmbarnard/Knockout-Validation

组合示例:

var schema = // read in json
var model = {}

for (prop in schema.properties) {
    model[prop] = ko.observable().extend({ 
                      maxLength: /* get your value from schema, etc */,
                      minLength: /* get your value from schema, etc */
                  }
}

【讨论】:

    【解决方案2】:

    JXT (http://www.jxtdev.com) 模型使用 JSON 初始化,而且 JSON 用于配置 JavaScript 包。 JXT 实现了 MVC 模式,当模型中包含的数据发生变化时,它将通知其控制器,控制器将自动重新加载视图。这种事件驱动的方法在框架中随处使用,从 JXT 集合(它们是原生 JavaScript 集合的包装器)开始。我刚刚发布了第一个测试版(是的,我是它背后的开发者),所以你可能会发现它还不成熟,但值得一看 imo ;)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-09
      • 1970-01-01
      • 1970-01-01
      • 2015-10-30
      • 2018-03-18
      • 1970-01-01
      • 2023-03-29
      • 2017-03-04
      相关资源
      最近更新 更多