我试图在不同的控制器之间共享一个Ember对象,以便装饰'它通过应用程序提供更多信息。
在一个简单的Ember应用程序中,我会这样做:
App.UserDetails = Ember.Object.extend({name: 'Darryl', age: 26 });
App.DetailsRoute = Ember.Route.extend({
model: function () {
return App.UserDetails;
}
});
App.AccountRoute = Ember.Route.extend({
model: function () {
return App.UserDetails;
}
});
但是我无法看到我会在Ember CLI中组织这个
由于
答案 0 :(得分:2)
您应该使用像Ember Data这样的数据持久性库,因为它是为存储用户详细信息而设计的,并且有大量信息如何执行此操作,但您要求共享对象:
您可以使用Ember.Service
:
详情服务:
import Ember from 'ember';
export default Ember.Service.extend({
name: 'Darryl',
age: 26
});
休息:
App.DetailsRoute = Ember.Route.extend({
details: Ember.inject.service(),
model: function () {
return this.get('details');
}
});
App.AccountRoute = Ember.Route.extend({
details: Ember.inject.service(),
model: function () {
return this.get('details');
}
});
答案 1 :(得分:-1)
可以这样做,
//userdetails.js
export default Ember.Object.create({
name: 'Darryl',
age: 26
});
在你的路线中,
//details.js
import obj from 'path/userdetails';
export default Ember.Route.extend({
model : function(){
return obj;
}
});
//account.js
import obj from 'path/userdetails';
export default Ember.Route.extend({
model : function(){
return obj;
}
});