Javascript 如何在AngularJS中绑定两个各自的$scope中的数据?
我试图将一些数据从$scope 1带到$scope 2。 在下面,我试图将$scope 1中的“project\u data.title”或“$$scope.project\u data.project\u title”传递到$scope 2中的$scope.test [$A]Javascript 如何在AngularJS中绑定两个各自的$scope中的数据?,javascript,angularjs,Javascript,Angularjs,我试图将一些数据从$scope 1带到$scope 2。 在下面,我试图将$scope 1中的“project\u data.title”或“$$scope.project\u data.project\u title”传递到$scope 2中的$scope.test [$A] $scope.updateData = function(project_id){ $http.post("../crud/projects_update.php",{ project_id :
$scope.updateData = function(project_id){
$http.post("../crud/projects_update.php",{
project_id : $scope.project_data.project_id,
project_title : $scope.project_data.project_title // this should be passed to $scope B.
})
[$scope B]
$http.get('../crud/customers_read.php',{
}).then(function(response){
$scope.customer = [];
$scope.customers = response.data;
$scope.test = { name: $scope.project_data.project_title }; // This should come from $scope A.
});
我认为它们是普遍的,但似乎不是。您通常如何解决这类问题:为不同的$scope绑定数据
提前谢谢你 默认情况下,角度中的作用域可以向上引用父作用域,除非将它们隔离。似乎您的两个作用域(如果是同级)在默认情况下不继承彼此的作用域 例如:
范围A->范围B
:范围B可以引用范围A变量
范围C范围B
:范围B和范围C可以引用范围A变量,但范围B不能引用范围C变量,反之亦然
您可以使用$rootScope
,但随着应用程序的扩展,这将使您陷入混乱的作用域状态处理
我建议您将数据放在服务中
因此范围A将把数据发布到CommonDataSvc
,然后范围B可以在那里引用数据
这将使你的州更有条理
另一个选项是实现Redux。默认情况下,角度范围可以向上引用父范围,除非将它们隔离。似乎您的两个作用域(如果是同级)在默认情况下不继承彼此的作用域 例如:
范围A->范围B
:范围B可以引用范围A变量
范围C范围B
:范围B和范围C可以引用范围A变量,但范围B不能引用范围C变量,反之亦然
您可以使用$rootScope
,但随着应用程序的扩展,这将使您陷入混乱的作用域状态处理
我建议您将数据放在服务中
因此范围A将把数据发布到CommonDataSvc
,然后范围B可以在那里引用数据
这将使你的州更有条理
另一个选项是实现Redux。您应该真正创建一个
$http
服务,并且只将它注入到使用它的控制器中。从angular 1.2开始,您应该使用语法。Angularjs团队添加了这个语法来精确地解决这些类型的问题。谢谢大家的建议。我会调查的!您应该真正创建一个$http
服务,并且只将它注入到使用它的控制器中。从angular 1.2开始,您应该使用语法。Angularjs团队添加了这个语法来精确地解决这些类型的问题。谢谢大家的建议。我会调查的!非常感谢您的评论!它帮助我更好地理解。希望这对其他人也有帮助!非常感谢您的评论!它帮助我更好地理解。希望这对其他人也有帮助!