2016-08-18 2 views
0

map.jsのcontroller.jsにある$scope.data.rangeの値を使用します。controller.jsからmap.jsにデータを渡す方法は?

これは私のcontroller.js

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

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

どのように私は簡単なjavascriptのファイルであるmap.jsでこの$scope.data.rangeを使用することができます。

答えて

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の文書を見つけることができます。

0

map.jsは同じangular.module( 'starter.controllers'、[])の下にあります。セッションに行きたいと思わない場合は、サービスまたはファクトリを使用できます。そうでなければ、ローカルストレージまたはセッションストレージを使用できます

+0

私のmap.jsファイルには角関連のコードはありません。 controller.jsとmap.jsはフォルダの下の2つのファイルです。 –

+0

まだlocalstorageに行くことができると思います –

0

map.jsがどのように構造化されているかわからないので、私は完全な解決策を提供することはできませんが、例えばmap.js内の関数をsetDataRange(dataRange);のように追加し、コントローラからアクセスすることができます。または、一般的にコントローラから必要なものにアクセスして更新します(controller.jsの前にmap.jsスクリプトが含まれていれば)。例えば。 $scope.map = new Map(); $scope.map.range = ....などこれがうまくいくことを願っています! (上記のようなローカルストレージも良い解決策かもしれませんが、あなたが何をしたいかによって異なります)

関連する問題