如何在angularjs中从一个控制器向另一个控制器发送数据
如何使用angularjs将json数据从FirstCtrl发送到secondCtrl 有人能帮我解决这个问题吗 First.js:如何在angularjs中从一个控制器向另一个控制器发送数据,angularjs,Angularjs,如何使用angularjs将json数据从FirstCtrl发送到secondCtrl 有人能帮我解决这个问题吗 First.js: angular.module('myApp') .controller('FirstCtrl', function ($scope) { //firstCtrl json data $.getJSON("sample.json", function (json) { console.log(json);
angular.module('myApp')
.controller('FirstCtrl', function ($scope) {
//firstCtrl json data
$.getJSON("sample.json", function (json) {
console.log(json);
});
});
Second.js:
angular.module('myApp')
.controller('secondCtrl', function ($scope) {
//get the firstCtrl json data here
});
如果第二个控制器是嵌套的,则可以使用$parent访问第一个控制器的作用域。您需要将json的值分配给$scope,例如
$scope.json = my_json
然后在第二个控制器中,您可以说
$scope.json = $scope.$parent.json;
如果第二个控制器是嵌套的,则可以使用$parent访问第一个控制器的作用域。您需要将json的值分配给$scope,例如
$scope.json = my_json
然后在第二个控制器中,您可以说
$scope.json = $scope.$parent.json;
var-app=angular.module('myApp',[]);
应用程序控制器('Ctrl1',函数($scope,$rootScope){
$scope.msg='World';
$rootScope.name='AngularJS';
});
应用程序控制器('Ctrl2',函数($scope,$rootScope){
$scope.msg='Dot Net Tricks';
$scope.myName=$rootScope.name;
});代码>
你好{{msg}}!
你好{{name}}!
(根镜)
你好{{msg}}!
嘿{{myName}}!
你好{{name}}!(根镜)
var-app=angular.module('myApp',[]);
应用程序控制器('Ctrl1',函数($scope,$rootScope){
$scope.msg='World';
$rootScope.name='AngularJS';
});
应用程序控制器('Ctrl2',函数($scope,$rootScope){
$scope.msg='Dot Net Tricks';
$scope.myName=$rootScope.name;
});代码>
你好{{msg}}!
你好{{name}}!
(根镜)
你好{{msg}}!
嘿{{myName}}!
你好{{name}}!(根镜)
Yo只需创建一个新的服务,该服务有两个功能,一个用于保存日期,另一个用于提供日期,然后可以从任何地方访问该服务。
此外,您可以将数据分配给一个$rootScope.someVar
,例如,通过这种方式,您也可以从任何地方检索数据您只需创建一个新的服务,该服务有两个功能,一个用于保存日期,另一个用于提供数据,然后可以从任何地方访问该服务。
此外,您可以将数据分配给$rootScope.someVar
,例如,通过这种方式,您也可以从任何位置检索数据我还建议使用一种服务,从控制器获取数据并将数据返回给控制器
我们创建两个控制器,然后创建一个具有两个功能的服务:
1.一个是获取json数据
2.一个是返回json数据
像这样:
'use strict';
angular.module('myApp', [])
.controller('FirstCtrl', function( $scope, myService ){
//we create or get the json object
$scope.myjsonObj = {
'animal':'cat',
'feed':'frieskies',
'color':'white',
'sex':'male'
};
//pass the json object to the service
myService.setJson($scope.myjsonObj);
})
.controller('SecondCtrl', function( $scope, myService ){
//call service getJson() function to get the data
$scope.myreturnedData = myService.getJson();
})
.factory('myService', function(){
var myjsonObj = null;//the object to hold our data
return {
getJson:function(){
return myjsonObj;
},
setJson:function(value){
myjsonObj = value;
}
}
});
HTML部分将是:
<div ng-app="myApp">
<div ng-controller="FirstCtrl">
{{myjsonObj}}
</div>
<hr>
<div ng-controller="SecondCtrl">
{{myreturnedData.animal}}
{{myreturnedData.feed}}
{{myreturnedData.color}}
{{myreturnedData.sex}}
</div>
{{myjsonObj}}
{{myreturnedData.animal}
{{myreturnedData.feed}
{{myreturnedData.color}
{{myreturnedData.sex}
希望对您有所帮助,祝您好运。我还建议您提供一种从控制器获取数据并将数据返回控制器的服务
我们创建两个控制器,然后创建一个具有两个功能的服务:
1.一个是获取json数据
2.一个是返回json数据
像这样:
'use strict';
angular.module('myApp', [])
.controller('FirstCtrl', function( $scope, myService ){
//we create or get the json object
$scope.myjsonObj = {
'animal':'cat',
'feed':'frieskies',
'color':'white',
'sex':'male'
};
//pass the json object to the service
myService.setJson($scope.myjsonObj);
})
.controller('SecondCtrl', function( $scope, myService ){
//call service getJson() function to get the data
$scope.myreturnedData = myService.getJson();
})
.factory('myService', function(){
var myjsonObj = null;//the object to hold our data
return {
getJson:function(){
return myjsonObj;
},
setJson:function(value){
myjsonObj = value;
}
}
});
HTML部分将是:
<div ng-app="myApp">
<div ng-controller="FirstCtrl">
{{myjsonObj}}
</div>
<hr>
<div ng-controller="SecondCtrl">
{{myreturnedData.animal}}
{{myreturnedData.feed}}
{{myreturnedData.color}}
{{myreturnedData.sex}}
</div>
{{myjsonObj}}
{{myreturnedData.animal}
{{myreturnedData.feed}
{{myreturnedData.color}
{{myreturnedData.sex}
希望有帮助,祝你好运。只要使用$rootScope
就可以实现这一点。
在第一个控制器中,分配$rootScope.json=$scope.json代码>,它将在整个应用程序上可用。因此,您可以在特定应用程序的任何位置访问$rootScope.json
只要使用$rootScope
即可。
在第一个控制器中,分配$rootScope.json=$scope.json代码>,它将在整个应用程序上可用。因此,您可以在特定应用程序的任何位置访问$rootScope.json
,复制对复制,非常感谢您的帮助。工厂使用了什么?你能解释一下吗?你可以使用服务/工厂(几乎相同的功能)在你的web应用程序中共享价值。请阅读此文档了解更多信息:您好,请针对您的新问题提出一个新问题,并用一个示例从一开始就对其进行检查。非常感谢您的帮助。工厂使用了什么?你能解释一下吗?你可以使用服务/工厂(几乎相同的功能)在你的web应用程序中共享价值。如需了解更多信息,请阅读此文档:您好,请针对您的新问题提出一个新问题,并提供一个示例,以便从一开始就对其进行检查。我不建议仅在恰当的情况下使用$rootScope
。我不建议仅在恰当的情况下使用$rootScope
。