Я определил один контроллер и применил его к двум представлениям с небольшими отличиями.
Angular код:
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>
Пример кода очень прост, но в моем реальном проекте есть много кода и логики.
В представлениях 1 и 2 есть почти те же функции, только с несколькими отличиями, но мне нужно написать код для каждого из них в контроллере.
Я не хочу создавать для них 2 разных контроллера, потому что они имеют большую логику. Я не хочу переводить логику в службу, чтобы делиться ею между двумя контроллерами, потому что логика не является обычной для службы.
Есть ли другой способ сделать это?