如何将数据从controller.js传递给map.js?

时间:2016-08-18 10:49:04

标签: javascript angularjs

我想在map.js中使用来自controller.js的$scope.data.range值。

这是我的controller.js

angular.module('starter.controllers', [])

.controller("LocController",function($scope,$rootScope){
    $scope.data.range=5000;
})

如何在map.js中使用此$scope.data.range,这是一个简单的javascript文件。

3 个答案:

答案 0 :(得分:1)

如果你的map.js与Angular无关,你可以使用localStorage来保持你的范围。

所以在你的控制器中,注入$localStorage,并在localStrorage中设置变量:

.controller("LocController", function($scope, $rootScope, $localStorage){
    $scope.data.range = 5000;
    $localStorage.range = $scope.data.range;
})

然后在map.js中,通过localStorage.getItem('range');获取localStorage。 Here您可以找到MDN for Storage。

答案 1 :(得分:0)

我猜map.js属于同一个angular.module('starter.controllers',[]),如果你不想参加会议,你可以使用服务或工厂。否则,您可以使用localstorage或会话存储

答案 2 :(得分:0)

我不确定我是否可以提供完整的解决方案,因为我不知道map.js是如何构建的,但是你可以在map.js中添加一个函数,例如setDataRange(dataRange);并访问它来自控制器。或者通常从控制器访问和更新您想要的任何内容(前提是您已在controller.js之前包含了map.js脚本)。例如。 $scope.map = new Map(); $scope.map.range = ....等希望这会有所帮助! (所提到的本地存储也可能是一个很好的解决方案,但这一切都取决于你想做什么)