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