gpt4 book ai didi

ember.js - 装载 fixture 上未捕获到的#<错误>

转载 作者:行者123 更新时间:2023-12-02 05:59:58 25 4
gpt4 key购买 nike

我在治具方面做错了。
我必须在契约(Contract)中包含许多契约(Contract)项的模型中进行建模,并尝试为其加载夹具

App.Contract = DS.Model.extend({
contractItems: DS.hasMany('contractItem'),
//
});

App.ContractItem = DS.Model.extend({
contract: DS.belongsTo('contract'),
//
});

App.Contract.FIXTURES = [{
id: 1,
runtime: 12,
//
contractItems: [1, 2]
},{
id: 2,
//
}];

App.ContractItem.FIXTURES = [{
id: 1,
//
},{
id: 2,
//
}];

我注释掉了一些沉闷的属性,但完整文件位于 here上。
当我加载页面时,出现错误
Uncaught #<error> VM1615:956
ProfileManager.ended VM1615:956
Ember.subscribe.after VM1615:2007
finalizer ember-1.5.1.js:1802
Ember.tryCatchFinally ember-1.5.1.js:1554
Ember.Instrumentation.instrument ember-1.5.1.js:1810
Ember.CoreView.Ember.Object.extend.renderToBuffer ember-1.5.1.js:22472
Ember.View.Ember.CoreView.extend.createElement ember-1.5.1.js:23993
Ember.merge.insertElement ember-1.5.1.js:24944
Ember.View.Ember.CoreView.extend._insertElement ember-1.5.1.js:23921
DeferredActionQueues.flush ember-1.5.1.js:6125
Backburner.end ember-1.5.1.js:6215
Backburner.run ember-1.5.1.js:6254
executeTimers ember-1.5.1.js:6552
(anonymous function)

删除行 contractItems: [1, 2]可以解决此问题,但是很显然,然后不会加载相关对象。
我以为,我在驼背上做错了事,尝试了不同的版本,但没有成功。

在1.5.1版中使用Ember,在1.0.0-beta9版中​​使用Ember-Data。

欢迎任何提示...

最佳答案

您的关系将需要定义为异步,因为它们没有与要加载的记录加载在相同的有效负载中。

App.Contract = DS.Model.extend({
contractItems: DS.hasMany('contractItem', {async:true}),
//
});

App.ContractItem = DS.Model.extend({
contract: DS.belongsTo('contract', {async:true}),
//
});

记住在访问异步属性时要使用
contract.get('contractItems').then(function(items){
console.log(items.get('length'));
});

关于ember.js - 装载 fixture 上未捕获到的#<错误>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24035058/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com