Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 余烬数据:具有初始异步关系值的createObject_Javascript_Ember.js_Ember Data_Ember Cli - Fatal编程技术网

Javascript 余烬数据:具有初始异步关系值的createObject

Javascript 余烬数据:具有初始异步关系值的createObject,javascript,ember.js,ember-data,ember-cli,Javascript,Ember.js,Ember Data,Ember Cli,我已经使用余烬和余烬数据几个月了,现在我正在对我的网络应用程序进行优化 我有这个feed模型: export default DS.Model.extend({ app: DS.belongsTo('app', {async:true}), icon: DS.attr('string'), title: DS.attr('string'), typeName: DS.attr('string'), rootElement: DS.belongsTo('element', {a

我已经使用余烬和余烬数据几个月了,现在我正在对我的网络应用程序进行优化

我有这个
feed
模型:

export default DS.Model.extend({
  app: DS.belongsTo('app', {async:true}),
  icon: DS.attr('string'),
  title: DS.attr('string'),
  typeName: DS.attr('string'),
  rootElement: DS.belongsTo('element', {async:true}),
  position: DS.attr('number'),
  fontAwesomeIcon:DS.attr('string'),

  htmlId:function () {
    return "module_"+this.get('id');
  }.property(),
});
当我尝试创建一个新的
feed
对象时,我只需要指定我的后端应用程序和类型,所以我可以这样做:

addFeed: function() {
    var app=this.get('model');
    var selectTypeForm = document.getElementById('selectFeedType');
    var type = selectTypeForm.options[selectTypeForm.selectedIndex].value
    var newFeed = this.store.createRecord('feed', {
        app:this.get('model'),
        typeName:
    });          
    newFeed.save();
},
我的问题是,如果
app
属性是异步的(如本例中所示),则在POST请求中,应用id永远不会发送到我的后端(就像我从未设置它一样)。 如果我在提要模型中将其切换为
async:false
,它将在创建时接受我的应用程序id,并正确地将其发送到我的后端

是否无法编写异步属性

谢谢


版本:
Ember 1.7.0
Ember-data 1.0.0-beta.10

Ember-data存在该漏洞很长一段时间,但在创建时已在Ember-data 1.0.0-beta.11中修复。设置异步属性在beta.12中已修复。你最简单的方法就是升级。

Sweet,我升级到了beta 11,它在创建过程中发挥了作用。我不能选择beta 12,因为它不能通过bower获得,它必须是金丝雀版本。我现在只需要在创建过程中设置这些,这样我就可以等待beta 12的发布。谢谢你的帮助!