当前位置:K88软件开发文章中心编程语言JavaScriptEmber.js → 文章内容

Ember 自定义序列号器

减小字体 增大字体 作者:佚名  来源:网上搜集  发布时间:2019-1-15 15:27:11

建一个全新的与JSONAIPSerializer、JSONSerializer都不一样的序列化器你可以扩展DS.Serializer类,但是你必须要实现下面三个方法:normalizeResponseserializenormalize知道规范化JSON数据对Ember Data来说是非常重要的,如果模型属性名不符合Ember Data规范这些属性值将不会自动更新。如果返回的数据没有在模型中指定那么这些数据将会被忽略。比如下面的模型定义,this.store.push()方法接受的格式为第二段代码所示。// app/models/post.jsimport DS from 'ember-data';export default DS.Model.extend({ title: DS.attr(‘string’), tag: DS.attr(‘string’), comments: hasMany(‘comment’, { async: true }), relatedPosts: hasMany(‘post’)});{ data: { id: "1", type: 'post', attributes: { title: "Rails is omakase", tag: "rails", }, relationships: { comments: { data: [{ id: "1", type: 'comment' }, { id: "2", type: 'comment' }], }, relatedPosts: { data: { related: "/api/v1/posts/1/related-posts/" } } }}每个序列化记录必须按照这个格式要正确地转换成Ember Data记录。本篇的内容难度很大,属于高级主题的内容!如果暂时理解不来不要紧,你可以先使用firebase构建项目,等你熟悉了整个Ember流程以及数据是如何交互之后再回过头看这篇和上一篇Ember.js 入门指南之四十四自定义适配器,这样就不至于难以理解了!!到本篇为止,有关Ember的基础知识全部介绍完毕!!!从2015-08-26开始到现在刚好2个月,原计划是用3个月时间完成的,提前了一个月,归其原因是后面的内容难度大,理解偏差大!文章质量也不好,感觉时间比较仓促,说以节省了很多时间!(本篇是重新整理发表的,原始版博文发布的时候Ember还是2.0版本,现在已经是2.5了!!)介绍来打算介绍APPLICATION CONCERNS和TESTING这两章!也有可能把旧版的Ember todomvc案例改成Ember2.0版本的,正好可以拿来练练手速!!!很庆幸的是目标:把旧版的Ember todomvc案例改成Ember2.0版本的,也完成了!!!并且扩展了很多功能,有关代码情况todos v2,欢迎读者fork学习!如果觉得有用就给我一个star吧!!谢谢!!!博文完整代码放在Github(博文经过多次修改,博文上的代码与github代码可能有出入,不过影响不大!),如果你觉得博文对你有点用,请在github项目上给我点个star吧。您的肯定对我来说是最大的动力!!

上一页  [1] [2] [3] 


Ember 自定义序列号器