2013-11-29 4 views
6

Хотелось бы знать, как лучше сохранить состояние между вкладками. Я использую загрузочные вкладки и угловой ui-router. У меня есть карта google на одной из вкладок и не хочу перезагружать карту, когда пользователь выбирает эту вкладку. Пожалуйста, порекомендуйте.Угловое ui-router поддерживающее состояние между вкладками

Благодаря

ответ

1

Я думаю, что вы ищете обсуждается в этом выпуске: https://github.com/angular-ui/ui-router/issues/63

Они в основном обсуждали плавающие фреймы, но я считаю, что то же самое должно выполняться для Google Maps. К сожалению, в потоке они решили, что это не то, что должно быть реализовано в основной версии. Я не пробовал директиву, которую они предоставляют (если я получу шанс, я дам вам знать, как это происходит), но вы можете получить что-то с этим.

Я действительно столкнулся с конкретной проблемой, с которой вы столкнулись. Мое решение было использовать стилизованные кнопки в моих вкладках и нг-шоу на вкладку карты:

<div id="info-btns"> 
    <button class="btn" ng-model="view" btn-radio="'info'"> 
    Info 
    </button> 
    <button class="btn" ng-model="view" btn-radio="'map'" ng-click="loadMap()"> 
    Map 
    </button> 
</div> 


<div class="content" ng-show="view != map"> 
    <div ui-view="info"></div> 
</div> 

<div id="map-container" ng-show="view == 'map'"> 
    <div id="map" class="content" sitemap> 
    </div> 
</div> 

нг-шоу просто не использует дисплей: Нет, чтобы скрыть карту и, следовательно, не вызывает обновления. Вам нужно будет запустить карту для загрузки в первый раз, когда она не будет скрыта, иначе она будет отображаться некорректно, поэтому loadMap()

Если у меня будет шанс, я нахожу это на практике.

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