首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在控制器角度JS中传递数据?

如何在控制器角度JS中传递数据?
EN

Stack Overflow用户
提问于 2015-05-19 12:53:44
回答 3查看 256关注 0票数 0

我有两个控制员:

代码语言:javascript
运行
复制
<div ng-controller="Main">
   <div ng-controller="Map"></div>
</div>

在控制器Main中,我有变量$scope.mapCoord;,如何在控制器Map中传递这个变量

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-05-19 13:28:35

使用服务。例如:

代码语言:javascript
运行
复制
var app = angular.module('myApp', [])
app.service('sharedProperties', function () {
    var mapCoord= 'Test';

    return {
        getProperty: function () {
            return mapCoord;
        },
        setProperty: function(value) {
            mapCoord= value;
        }
    };
});

在你的主控制器里面

代码语言:javascript
运行
复制
app.controller('Main', function($scope, sharedProperties) {
    $scope.mapCoord= sharedProperties.setProperty("Main"); 
});

在地图控制器内

代码语言:javascript
运行
复制
app.controller('Map', function($scope, sharedProperties) {
    $scope.mapCoord= sharedProperties.getProperty(); 
});

这是给你的小提琴。JSFiddle

票数 2
EN

Stack Overflow用户

发布于 2015-05-19 13:00:44

您使用事件在$broadcast$emit$on使用的控制器之间传递它。

使用$scope.$emit和$scope.$on

http://mariuszprzydatek.com/2013/12/28/sharing-data-between-controllers-in-angularjs-pubsub-event-bus-example/

票数 0
EN

Stack Overflow用户

发布于 2015-05-19 13:52:12

在"Map“控制器中,将"Main”范围设置为当前作用域,如下所示:

代码语言:javascript
运行
复制
app.controller('Map', ['$scope','$controller',function($scope, $controller) {

    $controller('Main', {
        $scope : $scope
    });
}]);

在此之后,您可以从他的儿子控制器访问主控制器的所有范围:

代码语言:javascript
运行
复制
app.controller('Map', ['$scope','$controller',function($scope, $controller) {

    $controller('Main', {
        $scope : $scope
    });

    var coord = $scope.mapCoord;
}]);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30326217

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档