我有一个具有插件架构的Ember应用程序。这些插件将能够为Router.map添加路由和资源。我加载了使用AJAX调用添加到路由的js文件。
问题是,直接进入#/ some-plugin-route会给我一个404,因为该应用尚未加载到路线中。但是,进入/然后#/ some-plugin-route会在路由加载时解析得很好。
我尝试将AJAX调用放入主应用程序中的Router.map调用中,然后在每次转换时将AJAX调用到所有内容中。在决定路由应该重定向到404页面之前,如何让应用程序加载插件?
404路线代码:
window.App.NotFoundRoute = Ember.Route.extend({
redirect: function () {
var url = this.router.location.formatURL("/not-found");
if (window.location.pathname !== url) {
this.transitionTo("/not-found");
}
}
});
AJAX代码:
Ember.$.getScript("/dbname/pluginId/some-plugin.js");
示例插件:
App.Router.map(function () {
this.route("some-plugin-route");
});