Программно создавать новые маршруты в Ember
Я использую файл json, извлеченный с сервера, чтобы настроить свой веб-сайт и сообщить каждой странице, каков его заголовок. Файл json выглядит так:
[{"route": "student", "title": "Student Info Page"}, {"route": "payments", "title": "Payments and Pricing"}, {"route": "policy", "title": "Mine"}, {"route": "biography", "title": "About Me"}]
который используется для создания панели навигации с этим кодом:
App.MenuController = Ember.ArrayController.create();
$.get('config.json', function(data) {
App.MenuController.set('content', data);
});
который затем используется в шаблоне:
{{#each App.MenuController}}
{{#varLink route this}}{{title}}{{/varLink}}
{{/each}}
Пока все это прекрасно работает.
Итак, вот мой вопрос: я хочу, чтобы отображение маршрута было сделано сApp.Router.map
быть сделано программно, используя этот объект json, чтобы определить, какие маршруты должны существовать.
Как же мне это сделать? Я искал документацию, а затем попробовал это:
$.get('config.json', function(data) {
App.MenuController.set('content', data);
for (var i = 0; i < data.length; i++) {
App.Router.map(function(){
var r = data[i].route;
console.log(r);
this.route(r);
});
}
});
что дает следующую консольную индикацию:
student app.js:9
payments app.js:9
policy app.js:9
biography app.js:9
Assertion failed: The attempt to linkTo route 'student' failed. The router did not find 'student' in its possible routes: 'index' ember.js:361
Uncaught Error: There is no route named student.index ember.js:23900