【发布时间】:2015-04-04 07:54:32
【问题描述】:
我知道我们不能像下面给出的那样在 AngularJS 的工厂中传递 $scope。
angular.module("MYAPP", [])
.factory("SLNservice", function($scope) { ...
我说的对吗?
如果是这样,在下面的例子中-
angular.module("MYAPP", [])
.factory("SLNservice", function() {
return {
edit: function a(x) {
x.num = x.num + 1;
return x.num;
}
}
});
//控制器代码
angular.module("MYAPP", [])
.controller("t", function($scope, SLNservice) {
$scope.num = 3;
SLNservice.edit($scope.num);
console.log($scope.num);
});
上面的console.log会返回4吗?或者换句话说,由于 $scope 不能在工厂中访问,我们可以像上面那样传递范围(变量/函数)并完成工作吗?还是我们应该将 $scope 一起包装在另一个对象中并传递它?
或者有更好的选择吗?欢迎提出建议!
【问题讨论】:
标签: angularjs service scope factory