Javascript 在没有超时的情况下更新$scope?
这个控制器工作正常,但有点难看。我应该如何以一种更有效的方式更新$scope?您应该使用服务来封装服务调用,并维护希望在不同控制器之间持久化的数据。通过这种方式,您的控制器通常会变得简单得多。请看我在这里写的一个示例。您应该使用一个服务来封装服务调用,并维护希望在不同控制器之间持久化的数据。通过这种方式,您的控制器通常会简单得多。请看我在这里写的一个示例,您不应该在控制器中使用$http,这是第一条规则。你能解释更多关于无错误的信息吗,为什么你会这样使用,这是我重构后的代码Javascript 在没有超时的情况下更新$scope?,javascript,angularjs,Javascript,Angularjs,这个控制器工作正常,但有点难看。我应该如何以一种更有效的方式更新$scope?您应该使用服务来封装服务调用,并维护希望在不同控制器之间持久化的数据。通过这种方式,您的控制器通常会变得简单得多。请看我在这里写的一个示例。您应该使用一个服务来封装服务调用,并维护希望在不同控制器之间持久化的数据。通过这种方式,您的控制器通常会简单得多。请看我在这里写的一个示例,您不应该在控制器中使用$http,这是第一条规则。你能解释更多关于无错误的信息吗,为什么你会这样使用,这是我重构后的代码 function a
function armyController($scope, $http) {
var no_errors = true;
function getArmyData () {
$http
.get('/army')
.success(function(data) {
$scope.army = data;
getArmyData();
})
.error(function(data) {
console.log('Error: ' + data);
no_errors = false;
});
}
if (no_errors) {
getArmyData();
}
}
您不应该在控制器中使用$http,这是第一条规则。你能解释更多关于无错误的信息吗,为什么你会这样使用,这是我重构后的代码
function armyController($scope, $http) {
var no_errors = true;
function getArmyData () {
$http
.get('/army')
.success(function(data) {
$scope.army = data;
getArmyData();
})
.error(function(data) {
console.log('Error: ' + data);
no_errors = false;
});
}
if (no_errors) {
getArmyData();
}
}
在我看来,我尽量不在控制器中使用
$http
服务,因为这可能意味着我需要创建一个提供者来处理事务。这样可以将http逻辑隔离到可维护的模块中,并且不会让控制器中的函数和变量相互之间不需要了解。在我看来,我尽量不在控制器中使用$http
服务,因为这可能意味着我需要创建一个提供程序来处理事务。通过这种方式,您可以将http逻辑隔离到可维护的模块中,并且不需要使用不需要相互了解的函数和变量来扰乱控制器。