Это прекрасно работает:Железный маршрутизатор RouteController дает не Defined ошибку
Router.route('/', function() {
this.render('home');
});
Router.route('/about', function() {
this.render('aboutView');
});
Однако это дает ошибку (RouteController 'HomeController' не определено):
var HomeController, MainController;
HomeController = RouteController.extend({
action: function() {
this.render('home', {
});
}
});
MainController = RouteController.extend({
action: function() {
this.render('aboutView', {
});
}
});
Router.route('/', {name: 'home', controller: 'HomeController'});
Router.route('/about', {name: 'about', controller: 'MainController'});
Я пробовал различные перестановки (взято из документации IronRouter), но все еще существует та же ошибка. Что я делаю неправильно?
Спасибо, удаление кавычек было решением, если нормально создавать контроллер локально. Я не могу заставить его работать с контроллером в качестве глобальной переменной. – jalal
Можете ли вы разместить свой код с настройкой глобальной переменной? Обычно это предпочтительный способ объявления контроллеров. – saimeunt
В исходном коде я использовал «use strict» в верхней части файла, чтобы понравиться jshint. Я не думал, что это повлияет на другие, но когда я удалю эту строку, у Meteor нет проблем с использованием строки для идентификации контроллера. Я не знаю, почему, но я знаю, что у Метеор странные отношения со строгим режимом. – jalal