将$ scope传递给服务是不好的做法?它是否会导致内存泄漏,因为控制器可以多次实例化?
示例:
.controller('TestController', function ($scope, TestService) {
$scope.loadData = function() {
// loadData will set some properties on the scope
TestService.loadData($scope);
};
});
答案 0 :(得分:1)
由于$ scope被放置在堆栈上,因此不确定内存泄漏部分,但是,您想要分离您的顾虑并从服务中返回数据,而不是将数据绑定到其中的控制器。
此外,如果其他人正在查看控制器代码并且无法弄清楚$ scope中的某个字段是如何设置的,则会导致混淆。