我的应用中的所有控制器都共享对我创建的数据提供者类型服务的依赖。该服务由检索各种数据位的函数组成,几乎所有这些方法都允许使用可选参数。输入此可选参数的能力是基于角色的。问题是我的控制器现在充满了类似的代码:
// Initializing controller.
dataservice.getRole().then(function(role) { $scope.isAdmin = role.isAdmin; });
// After a button press or some other event.
if($scope.isAdmin) {
dataservice.getData($scope.param1, $scope.param2, $scope.optionalText);
} else {
dataservice.getData($scope.param1, $scope.param2);
}
对我来说似乎有一种代码味道,我必须在整个控制器中不断重复这段代码,但我无法想出一种方法来构建我不需要的控制器。
答案 0 :(得分:0)
我是如何意识到的:Controller Inheritance。
基本上:
没有正式的#34;棱角分明的方式"实现这个功能,但我希望有角度的团队能够解决这个问题