serialization - EmberJS - find/findAll 与 Route.deserialize 和 Route.serialize 有何关系?

标签 serialization ember.js ember-old-router

您好,回答这个精彩的问题Ember.js - CRUD scenarios - Specifying View from within a Route find 和 findAll 被提到在模型上使用来自动反序列化 URL。

这个界面是什么样的?它真的是模型而不是 Controller 吗?

举个例子就太好了。

最佳答案

一如既往,文档是一个很棒的起点。看看https://github.com/emberjs/ember.js/blob/master/packages/ember-routing/lib/routable.js#L231-273对于默认的序列化/反序列化方法。

不过你的想法是正确的。

  • Ember 采用最接近的动态片段,例如blog_post_id
  • 从末尾删除 _id,留下 blog_post
  • 调用 Ember.String.classify('blog_post') 返回 BlogPost
  • 它在 Ember 命名空间下查找 modelClass,例如应用程序.BlogPost
  • 它在该模型上调用 find。例如App.BlogPost.find(1)

编辑:

在回应 Neppord 的评论时,他询问了多个动态片段。 是的,ember-router 目前确实支持单个路由中的多个动态段。

Ember.Route.extend({
  route: "/:post_type/:post_id"
})

如果你真的需要它,你就必须编写自己的反序列化/序列化方法。 就我个人而言,我只是使用嵌套动态状态。

Ember.Route.extend({
  route: "/:post_type"
  post: Ember.Route.extend({
    route: "/:post_id"
  })
})

关于serialization - EmberJS - find/findAll 与 Route.deserialize 和 Route.serialize 有何关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11409970/

相关文章:

javascript - 操作后 Ember 更新模型

ember.js - Emberjs 开发一个与其自己的路由/状态隔离的组件,可以将其集成到主应用程序中

python - 在 django rest framework 3 中使用可写嵌套序列化程序创建多个对象

javascript - 通过 D3 的 .attr 分配的多个类不在序列化 (serializeToString) 字符串中

json - 如何在 Servicestack 中使用自定义 JSON 序列化器?

javascript - 如何对 Ember.js 中的对象进行排序?

python - 在 Python 中序列化 float 安全吗?

testing - 使用 Karma 进行 EmberJS 测试 - PhantomJS 出现运行循环错误但 chrome 没有

ember.js - 如何使用 Ember.js 和 ember-data 创建新记录?

javascript - Ember.js - 如何使用 Ember.Router 将集合正确绑定(bind)到 View ?