具有angularjs中的参数的通用控制器

时间:2013-12-10 09:59:03

标签: angularjs

我有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);
}
...

如果服务是单例,控制器隔离范围,我如何重构并使所有这些通用?

感谢名单。

0 个答案:

没有答案