Tôi đã xác định một bộ điều khiển và áp dụng cho 2 chế độ xem có sự khác biệt nhỏ.Làm cách nào để sử dụng lại một bộ điều khiển cho 2 chế độ xem khác nhau?
đang kiễu góc:
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);
});
Xem 1:
<div ng-controller="MyCtrl"></div>
View 2:
<div ng-controller="MyCtrl"></div>
Mẫu mã rất đơn giản, nhưng có rất nhiều mã và logic trong dự án thực sự của tôi.
Chế độ xem 1 và 2 có hầu hết các tính năng giống nhau, chỉ với một vài khác biệt, nhưng tôi cần phải viết một số mã cho mỗi bộ điều khiển trong bộ điều khiển.
Tôi không muốn tạo 2 bộ điều khiển khác nhau cho chúng, vì chúng có hầu hết cùng một logic. Tôi không muốn chuyển logic sang một dịch vụ để chia sẻ nó giữa 2 bộ điều khiển, bởi vì logic không phải là phổ biến để trở thành một dịch vụ.
Có cách nào khác để làm điều đó không?
Vì vậy, chỉ cần đặt tất cả mọi thứ bạn cần cho cả hai quan điểm trong đó một bộ điều khiển và bạn đã sẵn sàng để đi ... – finishingmove
Logic không cần phải được sử dụng bất cứ nơi nào và ở khắp mọi nơi để di chuyển nó đến một dịch vụ. Một dịch vụ cần phải là nơi mà hầu hết logic của bạn nên đi, cho dù nó được chia sẻ hay không. – ganaraj