backbone.js - 哪个前端框架用于使用 json 模式描述的资源?

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

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

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

我一直在研究 ember.js,但似乎即使我编写一些代码将 json 模式转换为 ember 模型,要让验证适用于 ember.js 模型仍然有很长的路要走。对吗?

最佳答案

在不了解 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 */
                  }
}

关于backbone.js - 哪个前端框架用于使用 json 模式描述的资源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12903043/

相关文章:

ember.js - 如何使用 mouseenter 和 mouseleave 事件?

attributes - ember,如何在多个链接中获取 "name"属性?

javascript - Backbone.js - 搜索字段 : use only one Item

javascript - 将 urlRoot 动态传递给 backbone.js 模型

javascript - MarionetteJS compositeView 的奇怪行为

javascript - Knockout - 绑定(bind)到引用对象

javascript - 在某些情况下, knockout 模板仍处于加载状态

backbone.js - 如何使所选项目更改类(如何使属性在主干中可观察)

knockout.js - 我可以在模板绑定(bind)中传递变量吗?

javascript - 在 application.create() 之外创建时将数据加载到 ember 路由器的根路由中