Angularjs 如何从另一个控制器中的resolve获取数据?
我在Angular JS中使用带有Angularjs 如何从另一个控制器中的resolve获取数据?,angularjs,Angularjs,我在Angular JS中使用带有resolve功能的路由: .when("/:type/:user/:id", { template: " ", controller: "AppController", resolve: { "myVar": function (appService) {
resolve
功能的路由:
.when("/:type/:user/:id", {
template: " ",
controller: "AppController",
resolve: {
"myVar": function (appService) {
return appService.get({type : "5"}).then(function (response) {
return response.app;
});
}
}
})
在控制器AppController
处,我有:
.controller('AppController', ['$scope', '$http', '$route', '$sce', 'appService', 'myVar', function ($scope, $http, $route, $sce, appService, myVar) {
$scope.app = myVar;
}])
我还有另一个控制器:
.controller('SecondController', ['$scope', '$http', '$route', '$sce', 'appService', function ($scope, $http, $route, $sce, appService) {
// Get here $scope.app from first controller
}])
我使用服务
进行以下操作:
.controller('AppController', ['$scope', '$http', '$route', '$sce', 'appService', 'myVar', function ($scope, $http, $route, $sce, appService, myVar) {
appService._set(myVar);
}])
.controller('SecondController', ['$scope', '$http', '$route', '$sce', 'appService', function ($scope, $http, $route, $sce, appService) {
$scope.app = appService._get();
}])
当我尝试通过服务获取控制器SecondController
中的数据时:
$scope.app = appService._get();
console.log($scope.app);
我在控制台中收到未定义的消息是否嵌套了
AppController
&SecondController
我在HTML编码中只有SecondController
,您不能在解决中设置appService
的值吗?我可以,但控制器中有问题,因为我在控制器中得到了结果创建了一个简单的演示。如果两个控制器位于同一路径,则应易于使用resolve来设置服务数据。是否嵌套了AppController
&SecondController
?我的HTML编码中只有SecondController
?您是否可以在resolve中设置appService
上的值?我可以,但控制器中存在问题,因为我在controllercreate中得到了一个简单的演示。如果两个控制器位于同一路线,则应易于使用解析来设置服务数据