将ember-data模型序列化为query-params

时间:2014-02-25 21:40:54

标签: serialization ember.js ember-data deserialization

我想将包含ember-data对象的控制器属性绑定到查询字符串param。我在我的控制器中使用1.6.0-beta.1 + canary和以下内容。

export
default Ember.Controller.extend({
    queryParams: ['project'],
    project: null
});

我无法找到一种方法将ember-data对象(项目)序列化/反序列化到url或从url反序列化。它可能吗?

1 个答案:

答案 0 :(得分:1)

我不确定为什么,但似乎ember团队不想支持查询参数的序列化。最好的建议似乎是使用这样的计算属性:

App.MyController = Ember.ObjectController.extend({
  queryParams: ['recordId']
  recordId: null,
  record: function(key, value) {
    if (arguments.length > 1) {
     //handle set by setting recordId
     this.set('recordId', value.get('id'); 
   }
   return this.store.find('record', this.get('recordId'));
  }.property('recordId')
});

这是可行的,但至少可以说是匆匆......