Ember.js 对于带有动态段的模型,使用ajax加载的最佳方法是什么
我面临着动态段路由器v2的问题。 这里是js“”的链接 route的model方法没有使用linkTo和transitiono调用。(在恩伯的文件中有明确说明)。 但对于我的情况,我确实需要在路由中加载来自ajax请求的数据 谢谢,Ember.js 对于带有动态段的模型,使用ajax加载的最佳方法是什么,ember.js,Ember.js,我面临着动态段路由器v2的问题。 这里是js“”的链接 route的model方法没有使用linkTo和transitiono调用。(在恩伯的文件中有明确说明)。 但对于我的情况,我确实需要在路由中加载来自ajax请求的数据 谢谢, Linn模型挂钩上的余烬文档: “您可以实现一个钩子,将URL转换为此应用程序的模型 路线。” 所以模型钩子只是在页面刷新时调用的。但这让很多人感到困惑:-)。所以,在这种情况下,这不是正确的钩子。我认为你应该在这个案例中使用setupController钩子。试试
Linn模型挂钩上的余烬文档: “您可以实现一个钩子,将URL转换为此应用程序的模型 路线。” 所以模型钩子只是在页面刷新时调用的。但这让很多人感到困惑:-)。所以,在这种情况下,这不是正确的钩子。我认为你应该在这个案例中使用setupController钩子。试试这个:
App.CampaignsRoute = Ember.Route.extend({
setupController: function(controller) {
alert('called setupController method');
var data;
$.ajax({
url: '/echo/json/',
async: false,
data: {
json: JSON.encode([{
name: 'Campaign 1',
type: 'scheduled'
}, {
name: 'Campaign 2',
type: 'scheduled'
}, {
name: 'Campaign 2',
type: 'draft'
}])
},
dataType: 'json',
success: function(json) {
alert(JSON.stringify(json));
data = json;
}
});
controller.set("model",data);
}
});
另加一句话:不将对象包装在Ember.Object中似乎有些尴尬。通常情况下,您不会处理普通的JS对象。谢谢您的回答。我的代码不完整,缺少控制器。在这种情况下,我使用ArrayController。所以我还有一个关于transitiono和{{linkTo}的问题。根据ember doc,我需要传递真实对象,而不是route的参数。但根据我的要求,我确实需要执行ajax查询来根据类型进行检索。似乎无法使用这种方法。
App.CampaignsRoute = Ember.Route.extend({
setupController: function(controller) {
alert('called setupController method');
var data;
$.ajax({
url: '/echo/json/',
async: false,
data: {
json: JSON.encode([{
name: 'Campaign 1',
type: 'scheduled'
}, {
name: 'Campaign 2',
type: 'scheduled'
}, {
name: 'Campaign 2',
type: 'draft'
}])
},
dataType: 'json',
success: function(json) {
alert(JSON.stringify(json));
data = json;
}
});
controller.set("model",data);
}
});