2016-03-18 2 views
0

Я использую AngularJS для создания простого приложения с картой. Поскольку в главном ctrl было слишком много логики, я строю второй контроллер для навигатора. Пока здесь все не сработало. Теперь я передал команду map.on ('zoomend' ...) при рефакторинге основного контроллера.переменная not found/undefined после grunt build (uglify)

Проблема теперь в том, что, когда файл контроллер Navbar является уменьшенным (через хрюкать сборки уродовать) Я получаю следующее сообщение об ошибке:

Cannot read on of undefined

Это означает, что карта не определена, даже если он объявлен в верхнем файла И у меня нет проблемы с localhost (grunt serve).

Navbar Ctrl:

'use strict'; 
angular.module('angularMapApp').controller('navbarController', navbarController); 
navbarController.$inject = ['$scope', '$mdSidenav', 'helper', 'RespondService', 'shipTypes']; 

function navbarController($scope, $mdSidenav, helper, RespondService, shipTypes) { 
    var map = RespondService.getMap(); 
map.on('zoomend', function() { 
    timestamp = RespondService.getTimestamp(); 
    selectedShipTypes = RespondService.getSelectedShipTypes(); 
    selectedShipState = RespondService.getSelectedShipState(); 
    showGrid = RespondService.getShowGrid(); 
    helper.loadAndShowShipMarkers(timestamp, selectedShipTypes, selectedShipState, showGrid, map).then(function(results) { 
     $scope.numberOfShips = results; 
     RespondService.setNumberOfShips($scope.numberOfShips); 
    }); 
    }); 

Так что это укороченная версия моего контроллера. Файл grunt по-прежнему такой же, как и с yoman. Я также зарегистрировал значение карты в верхней части файла, и там оно имеет значение. Однако использование 'map.on' может не работать.

Возможно, кто-нибудь может мне помочь.

ответ

0

Ваш доллар кажется правильным, поэтому minify должен работать нормально для угловой инъекции. Похоже, что карта var загружает данные из RespondService.getMap(). Что вы ожидаете получить от этой функции? Вы можете поставить точку останова и посмотреть, возвращается ли то, что вы ожидаете.

+0

Я зарегистрировал результат var map, и в этот момент у меня есть ожидаемое значение – threxx

+0

. Какова ценность? Имеет ли она функцию map()? – dannielum

+0

да, это тот же объект, что и в другом контроллере. Однако карта var не определена при использовании «grunt build». Мы считаем, что ошибка может быть где-то в порядке init контроллера navbar – threxx

Смежные вопросы