Как повторно использовать один контроллер для двух разных представлений?

Я определил один контроллер и применил его к 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 разных контроллера для них, потому что они имеют большую часть одной и той же логики. Я неЯ не хочу перемещать логику в службу, чтобы разделить ее между двумя контроллерами, потому что логика не настолько распространена, чтобы быть службой.

Есть ли другой способ сделать это?

Ответы на вопрос(4)

Ваш ответ на вопрос