gpt4 book ai didi

ember.js - 重定向到 ArrayController 中的第一项

转载 作者:行者123 更新时间:2023-12-04 21:45:08 25 4
gpt4 key购买 nike

我正在尝试重定向到 ArrayController 中的第一项。我发现了一些与此相关的其他问题,但没有一个似乎有效的答案(发生了很多变化,所以这是可以理解的)。

Yehuda 的一个特别回答 here :

App.DoctorsRoute = Ember.Route.extend({
model: function() {
return App.Doctor.find();
},

redirect: function() {
var doctor = this.modelFor('doctors').get('firstObject');
this.transitionTo('doctor', doctor);
}
});

我“认为”我重新创造了这个场景,但我一定做错了什么......

非常感谢对我做错了什么的任何见解。

示例JSBin here .

最佳答案

这里的问题是您的模型列表尚未从服务器加载。根据您的需要,我建议使用promis 让溃败等待您的模型加载。

App.DoctorsRoute = Ember.Route.extend({
model: function() {
return App.Doctor.find().then(function (list) {
return list.get('firstObject');
});
},

redirect: function() {
var doctor = this.modelFor('doctors');
this.transitionTo('doctor', doctor);
}
});

当然......好吧,这会使重定向有点傻,所以如果你只想等待列表加载,你可以尝试:
App.DoctorsRoute = Ember.Route.extend({
model: function() {
return App.Doctor.find();
},

redirect: function() {
var self = this;
this.modelFor('doctors').then(function (list) {
return list.get('firstObject');
}).then(function (doctor){
if(!doctor)
self.transitionTo('doctor', doctor);
});
}
});

关于ember.js - 重定向到 ArrayController 中的第一项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15401013/

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