Как повторно использовать один контроллер для двух разных представлений?
Я определил один контроллер и применил его к 2 представлениям с небольшими отличиями.
Угловой код:
app.controller('MyCtrl', function($scope) {
$scope.canSave = false;
$scope.demo = {
files : [{
filename: 'aaa.html',
source: 'aaa'
}, {
filename: 'bbb.html',
source: 'bbb'
}]
}
$scope.newFile = function(file) {
$scope.demo.files.push(file);
}
$scope.$watch("demo.files", function(val) {
$scope.canSave = true;
}, true);
});
Вид 1:
Вид 2:
Пример кода очень прост, но в моем реальном проекте много кода и логики.
View 1 и 2 имеют почти одинаковые функции, только с некоторыми отличиями, но мне нужно написать код для каждого из них в контроллере.
Я неЯ не хочу создавать 2 разных контроллера для них, потому что они имеют большую часть одной и той же логики. Я неЯ не хочу перемещать логику в службу, чтобы разделить ее между двумя контроллерами, потому что логика не настолько распространена, чтобы быть службой.
Есть ли другой способ сделать это?