Inheritance 扩展基于AmpersandJS的模型和集合库时,如何定义新的派生属性?

Inheritance 扩展基于AmpersandJS的模型和集合库时,如何定义新的派生属性?,inheritance,backbone.js,ampersand.js,Inheritance,Backbone.js,Ampersand.js,我已经阅读了以下文档,这些文档使用AmpersandViews演示了这项技术: 这对我来说是一种模型和集合的工作,但是,我无法通过进一步扩展我的原生web应用中的基本模型/集合来定义任何新的派生属性。如果它们是通过fetch()创建的,则派生属性为“未定义”。但是,如果我在本地创建它们,它们将按预期工作。有关我的代码的详细信息,请参见下面的代码片段。有没有想过我做错了什么?或者,如果这是预期行为,是否有任何解决办法?(我在本文中包含了一个Backbone.js标记,因为Backbone和Amp

我已经阅读了以下文档,这些文档使用AmpersandViews演示了这项技术:

这对我来说是一种模型和集合的工作,但是,我无法通过进一步扩展我的原生web应用中的基本模型/集合来定义任何新的派生属性。如果它们是通过fetch()创建的,则派生属性为“未定义”。但是,如果我在本地创建它们,它们将按预期工作。有关我的代码的详细信息,请参见下面的代码片段。有没有想过我做错了什么?或者,如果这是预期行为,是否有任何解决办法?(我在本文中包含了一个Backbone.js标记,因为Backbone和Ampersand关系非常密切,并且使用相同的sync/fetch方法。)

//****************
//app.js(入口页面)
//****************
从“ampersand应用程序”导入应用程序
从“./Manifest”导入清单
从“/Me”导入我
window.app=app
app.extend({
init(){
this.me=newme({id:123,登录名:'bob'})
this.me.fetchInitialData()
}
})
app.init()
var m=新清单({{u id:'foo','id':'bar',标签:[{'@value':'Manifest 1'}]})
document.write(m.app_url)//-->有效!
/*与webpack绑定并获取初始数据后,控制台返回undefined:
app.me.presentations.manifests.models[0].app\u url
*/
//****************
//me.js
//****************
从“ampersand模型”导入模型
从“tabla rasa”导入{Collections}
导出默认模型.extend({
儿童:{
演示文稿:收藏
},
fetchInitialData(){
this.presentations.fetch()
}
})
//****************
//collections.js
//****************
从“tabla rasa”导入{Collections}
从“./清单集合”导入清单列表
导出默认集合。集合。扩展({
收藏:{
清单:清单,
},
派生:{
应用程序url:{
部门:[“id”],
fn(){
返回“collections/”+此。\u id
}
}
}
//manifest-collection.js
从“tabla rasa”导入{ManifestList}
从“./Manifest”导入清单
导出默认清单。扩展({
型号:舱单
})
})
//****************
//manifest.js
//****************
从“tabla rasa”导入{Manifest}
导出默认清单.extend({
派生:{
应用程序url:{
部门:[“id”],
fn(){
返回“manifests/”+此。\u id
}
}
}

})
我想出来了。我在me.js中包含了原始的基本库集合模块。替换此:

import {Collections} from 'tabula-rasa'
使用此(我的扩展模型):


。。。在me.js中做到了这一点。

您应该添加重现问题所需的最少代码(而不是代码链接)。。。读啊,@TJ,谢谢你的提示。。。这就解释了为什么会有反对票。我已经解决了这个问题。我将用最少的代码更新这个问题,并列出答案。
import Collections from './collections'