У меня есть несколько маршрутов, которые вызывают один и тот же контроллер, и я хотел бы передать ему разные переменные.
// Example
$routeProvider.
when('/a', {
templateUrl: 'test.html',
controller: 'MyController' // should get passed 'exampleA'
}).
when('/b', {
templateUrl: 'test.html',
controller: 'MyController' // should get passed 'exampleB'
});
Я знаю, что могу использовать объект "разрешить":
$routeProvider.
when('/a', {
templateUrl: 'test.html',
controller: 'MyController',
resolve: {test: function() { return true; }}
});
Чтобы передать значение как зависимость:
app.controller('MyController', ['$scope', 'test', function ($scope, test) {
console.log(test); // true
}
Моя проблема с этим подходом в том, что мое приложение падает, если объект разрешения отсутствует на других маршрутах, и я хотел бы передать необязательные параметры.
Есть ли способ передать определенные параметры в контроллер (от поставщика маршрута)?
Спасибо