[英]Ember render child template
我試圖基於列表視圖(父/子視圖)上的單擊內容渲染詳細信息視圖。 所以我有如下嵌套的路線;
this.route('my-list', function() {
this.route('my-details', {
path: '/details'
});
});
我的孩子/詳細路線也如下
export default Ember.Route.extend({
model: function(params){
var detailsUrl = "/myApp/json/" + params.myCode + "/details";
var detailsRequest = new Ember.RSVP.Promise(function(resolve, reject) {
Ember.$.ajax({
url: detailsUrl,
type: "POST",
data: JSON.stringify({
'id': params.Id
}),
contentType: 'application/json;charset=utf-8',
dataType: 'json',
success: function(response) {
resolve(response);
},
error: function(reason) {
reject(reason);
}
});
});
detailsRequest.then(function(response) {
return response; // I do get the correct response here
}, function(error) {
});
},
setupController: function(controller, model) {
debugger;
controller.set('model', model);
}
});
我的孩子/細節控制器如下所示
export default Ember.Controller.extend({
queryParams: ['myCode','Id'],
productCode: null
});
我的孩子模板如下: (我的父母/列表模板中有一個{{outlet}})
<p>Child details </p>
someId : {{model.someId}}
雖然我可以對“ / myApp / json /” + params.myCode +“ / details”進行AJAX調用並獲得響應,但它不會呈現到子模板中
我注意到setupController沒有被調用。 是否必須手動調用它,還是應該自動調用它(請記住我正在使用嵌套視圖)
我看到的第一個錯誤是您將結果返回給promise函數而不是模型
export default Ember.Route.extend({
detailsRequest.then(function(response) {
return response; // I do get the correct response here
}, function(error) {
});
正確的方法應該是
return detailsRequest.then(function(response) {
return response; // I do get the correct response here
}, function(error) {
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.