Nano Hash - криптовалюты, майнинг, программирование

Как я могу сделать вкладку в наборе uib-tabset AngularJS доступной для ссылки?

У меня есть что-то вроде:

<uib-tabset active="vm.activeTab">
    <uib-tab index="0" heading="First"> </uib-tab>
    <uib-tab index="1" heading="Second"> </uib-tab>
...
<uib-tabset>

И мой контроллер распознает ...#page&tab=second для перехода сюда (просматривая имя вкладки и получая индекс для установки для активной вкладки). Как я могу указать URL-адрес для каждой вкладки, чтобы пользователь мог добавить его в закладки или отправить кому-то по электронной почте?

Я был бы в порядке с добавлением обработчика ng-click. Я пытался установить это обновление location.href, но оно обновляет страницу. Я видел ответы, предлагающие history.pushState() или history.replaceState(), но, похоже, у них та же проблема.

Я был бы в порядке с установкой href вкладки, чтобы пользователь мог выбрать «Копировать адрес ссылки» из контекстного меню над вкладкой, но, поскольку вкладка является привязкой с пустым href, я боюсь, что это изменит поведение. (И я все равно не могу понять, как установить этот href.)

Возможно, я мог бы добавить «Копировать адрес вкладки» или что-то в контекстное меню.

Я просмотрел как изменить маршрут для каждой вкладки в uib- tabset, но ответ там не ссылается на uib-tabset, хотя кажется, что это то, о чем спрашивается вопрос.


  • Я начинаю думать, что это невозможно сделать, и, возможно, это должно быть запросом функции для Angular. Думал, что у меня около 1,5, и кажется маловероятным, что такая старая версия будет обновлена. 22.06.2017

Ответы:


1

Вы можете использовать глубокие ссылки для достижения своей цели.

Эта статья может помочь вам глубокая ссылка с использованием ui-router.

Как мы знаем, ui-router — самый популярный способ управления маршрутизацией в другое состояние в приложении angular. Здесь мы создаем родительское состояние, которое содержит другие дочерние состояния. Теперь, когда вы предоставили им URL-адрес, он будет действовать как обычный URL-адрес, который можно добавить в закладки или отправить кому-либо.

$stateProvider
  .state("main", { abstract: true, url:"/main", templateUrl:"main.html" })
  .state("main.tab1", { url: "/tab1", templateUrl: "tab1.html" })
  .state("main.tab2", { url: "/tab2", templateUrl: "tab2.html" })
  .state("main.tab3", { url: "/tab3", templateUrl: "tab3.html" });
})

Теперь, добавив ng-repeat для создания списка вкладок и установки значений для выбора и и активного

<tabset>
  <tab
    ng-repeat="t in tabs"
        heading="{{t.heading}}"
        select="go(t.route)"
        active="t.active">
  </tab>
</tabset>

Контроллер для этого состояния будет выглядеть так

$scope.go = function(route){
  $state.go(route);
};

$scope.active = function(route){
  return $state.is(route);
};

$scope.$on("$stateChangeSuccess", function() {
  $scope.tabs.forEach(function(tab) {
    tab.active = $scope.active(tab.route);
  });

Таким образом, это можно сделать

26.07.2017
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..