【发布时间】:2014-01-23 14:02:34
【问题描述】:
我的问题是,当用户访问我的路由簿/:id/:version 时,需要一些时间来拉取 JSON,并且很快它仍然会呈现旧数据,然后用新数据替换它。
这是我的路线:
App.BookRoute = Ember.Route.extend({
setupController: function (controller, model) {
// This gets the entire JSON for the single book
Ember.$.getJSON('/book?id=' + model.id + '&version=' + model.version,
function (data) {
// Set the json to the model
controller.set('model', data);
});
}
});
这是我的路由器:
App.Router.map(function () {
// Homepage (All the books)
this.resource('index', { path: '/' });
// Single Book view
this.resource('book', { path: '/book/:id/:version' });
});
例如,在第一次访问 #/book/2/1 时,它运行良好。下次访问另一本书#/book/3/1,它将快速显示#/book/2/1 的数据(呈现的html 模板),然后加载#/book/3/1 的数据.
用户离开后如何清除视图?或者如何使它不在路线/视图中显示以前加载的书。
谢谢。
编辑(添加了可能的相关问题):
我还有另一个问题,可能相关也可能不相关,但在将实际 HTML 呈现到 DOM 之前调用了 didInsertElement 事件。我认为这个方法是在 HTML 渲染到 DOM 之后调用的。
这是视图:
App.BookView = Ember.View.extend({
didInsertElement: function () {
console.log('inside didInsertElement');
}
});
【问题讨论】:
-
您如何导航到路线?我假设您发送的是带有
book_id和version的虚拟模型
标签: javascript ember.js