在Ember.js 3.18中,您可以通过使用Router
服务来获取应用程序的所有路由列表。以下是一种方法:
Router
服务。您可以通过以下方式完成:import { inject as service } from '@ember/service';
import Controller from '@ember/controller';
export default Controller.extend({
router: service(),
// 其他代码
});
router
服务的_routerMicrolib
属性来访问底层的路由器实例。例如:import { inject as service } from '@ember/service';
import Controller from '@ember/controller';
export default Controller.extend({
router: service(),
actions: {
getRoutes() {
const router = this.router._routerMicrolib;
const routes = router.recognizer.names;
// 处理路由列表
console.log(routes);
}
}
});
router.recognizer.names
将返回一个包含所有路由名称和其对应的处理程序的对象。您可以根据需要进一步处理路由列表。请注意,这种方法依赖于Ember.js的内部实现细节,因此可能在将来的版本中发生变化。建议在使用之前查阅Ember.js官方文档以获取最新的信息。
对于Ember.js 3.18中获取应用程序的所有路由列表的完善和全面的答案,您可以参考以下腾讯云产品和文档链接:
请注意,以上链接仅供参考,具体的产品选择应根据您的实际需求和情况进行评估和决策。
领取专属 10元无门槛券
手把手带您无忧上云