我有3个视图,它们使用相同的逻辑,但为各自的json提供3种不同的服务。所以我最终得到了3个具有相同代码的控制器,注入的服务和一些变量名称有什么变化:
fooController.js
var jsonFoo = {};
function displayFoo(data) {
jsonFoo = data.foo;
$scope.foo = jsonFoo;
}
$scope.switch = function (n) {
jsonFoo[n] = !jsonFoo[n];
}
...
function getData(currentpage) {
fooService
.getFoo(currentpage)
.then(displayFoo);
}
...
barController.js
var jsonBar = {};
function displayBar(data) {
jsonBar = data.bar;
$scope.bar = jsonBar;
}
$scope.switch = function (n) {
jsonBar[n] = !jsonBar[n];
}
...
function getData(currentpage) {
barService
.getBar(currentpage)
.then(displayBar);
}
...
bazController.js
var jsonBaz = {};
function displayBaz(data) {
jsonBaz = data.baz;
$scope.baz = jsonBaz;
}
$scope.switch = function (n) {
jsonBaz[n] = !jsonBaz[n];
}
...
function getData(currentpage) {
bazService
.getBaz(currentpage)
.then(displayBaz);
}
...
如果服务是单例,控制器隔离范围,我如何重构并使所有这些通用?
感谢名单。