我已经打开了一个主题并将其删除,因为没有形成正确的问题。对于给您带来的任何不便,我们深表歉意。
所以,问题如下。我有一个主页面,应显示FIXTURES中定义的所有对象。现在,据我了解emberjs和把手,主页面可以有一个{{outlet}}标签,根据网址显示内容。
我的问题是我有一个屏幕,默认情况下会显示数组,点击后会显示详细信息“页面”。所以,我必须使用{{outlet}},因为我有两个“页面”或者更确切地说,“router.maps”:main和details(请参阅下面的代码)。
如果我直接显示数组,当我点击详细信息时,数组仍然存在。如果我使用{{outlet}},我必须默认将用户重定向到主页,就像我做的那样:
App.Router.map(function(){
this.resource("main");
this.resource("details", {path: ':image_id'});
});
App.ApplicationRoute = Ember.Route.extend({
redirect: function() {
return this.transitionTo('main');
}
});
App.MainRoute = Ember.Route.extend({
model: function(){
return App.Images.find();
}
});
在这种情况下,什么是完美的解决方案?
此外,DS.Store是否像以下一样工作sessionStorage的?如果我在insert.html上“持久”数据然后转到view.html,那么当重新加载.js文件时,是否会显示那些数据?
再次感谢您的支持。
答案 0 :(得分:1)
在这种情况下,什么是完美的解决方案?
我建议为主路线设置路径“/”而不是重定向。
App.Router.map(function(){
this.resource("main", {path: '/'});
this.resource("details", {path: ':image_id'});
});
App.MainRoute = Ember.Route.extend({
model: function(){
return App.Images.find();
}
});
此外,DS.Store是否像以下一样工作sessionStorage的?如果我在insert.html上“持久”数据然后转到view.html,那么当重新加载.js文件时,是否会显示那些数据?
没有。将DS.Store视为内存缓存,只要您的ember应用程序正在运行,它就可用,但在刷新浏览器时会持续很多。 Ember Data支持许多不同的适配器,如果您想要本地存储,可以尝试localstorage-adapter