Как передать данные из controller.js в map.js?

0

Я хочу использовать значение $scope.data.range из controller.js в map.js.

Это мой controller.js

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

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

Как я могу использовать этот $scope.data.range в map.js, который является простым файлом javascript.

Теги:

3 ответа

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 localStorage.getItem('range'); , Здесь вы можете найти документ MDN для хранения.

0

Я предполагаю, что map.js находится под одним и тем же угловым модулем ("starter.controllers", []), и если вы не хотите проходить сеансы, вы можете использовать сервис или фабрику. Кроме того, вы можете использовать локальное хранилище или хранилище сеансов

  • 0
    В моем файле map.js нет углового кода. controller.js и map.js - это два файла в папке.
  • 0
    все же вы можете пойти на местное хранилище, я думаю,
0

Я не уверен, что могу дать полное решение, так как не знаю, как структурирована map.js, но вы можете, например, добавить функцию в map.js, например setDataRange(dataRange); и получить доступ к этому из контроллера. Или в общем доступе и обновлении всего, что вы хотите от контроллера (при условии, что вы включили скрипт map.js перед контроллером.js). Например $scope.map = new Map(); $scope.map.range =.... $scope.map = new Map(); $scope.map.range =.... и т.д. Надеюсь, это поможет! (localstorage, как уже упоминалось, может быть хорошим решением, но все зависит от того, что вы хотите сделать)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню