2016-02-27 3 views
1
angular.module('mobApp', ['ionic', 'mobApp.controllers','ngCordova', 'mobApp.services', 'mobApp.directive', 'yaru22.angular-timeago', 'monospaced.elastic']) 

.run(function($ionicPlatform) { 
    $ionicPlatform.ready(function() { 
    if (window.cordova && window.cordova.plugins.Keyboard) { 
     cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true); 
     cordova.plugins.Keyboard.disableScroll(true); 

    } 
    if (window.StatusBar) { 
     // org.apache.cordova.statusbar required 
     StatusBar.styleDefault(); 
    } 
    }); 
}) 

.config (функция ($ stateProvider, $ urlRouterProvider) { $ stateProviderangularjs страница навигации не работает должным образом

.state('app', { 
    url: '/app', 
    abstract: true, 
    templateUrl: 'templates/menu.html', 
    controller: 'AppCtrl' 
    }) 
    .state('app.search', { 
    url: '/search', 
    views: { 
     'menuContent': { 
     templateUrl: 'templates/search.html' 
     } 
    } 
    }) 
    .state('app.page1', { 
     url: '/page1', 
     templateUrl: 'templates/page1.html', 
     controller: 'PageCtrl' 
    }) 
    .state('app.page2', { 
     url: '/page2', 
     templateUrl: 'templates/page2.html', 
     controller: 'PageCtrl' 
    }) 
    .state('app.page3', { 
     url: '/page3', 
     templateUrl: 'templates/page3.html', 
     controller: 'PageCtrl' 
    })  
    $urlRouterProvider.otherwise('/app/search'); 

index.html

<body ng-app="starter"> 
    <ion-nav-view></ion-nav-view> 
    </body> 

внутри search.html я есть <a href="#/app.page1">page1</a>, когда я нажимаю эта ссылка не работает должным образом. Его отображение моей ожидаемой навигации по страницам -

search.html - > page1.html - > page2.html -> page3.html

ответ

1

Предполагаете, что вы используете угловой ui-router. Обратите внимание на разницу между URL-адресами и состояниями. Если вы хотите перейти в состояние с именем app.page1, у вас есть два варианта.

  1. <a href="#/app/page1">...</a> как вы определили URL-адреса для (вложенного) состояния.
  2. <a ui-sref="app.page1">...</a> с использованием директивы, предоставляемой ui-router для навигации по именам состояний (первый аргумент в вызове .state()).

Второй способ предпочтителен, так как он позволяет изменять URL-адреса штатов без изменения всех ссылок, которые вы уже настроили. Также, позволяя библиотеке создавать окончательные URL-адреса, упрощается переход с привязных ссылок (#/...) в режим html5 с помощью одного простого флага.

В зависимости от устройств, на которые вы нацеливаетесь, вы можете вставить пустой href (href = ""), чтобы браузеры отображали ссылку правильно.

Для получения более подробной информации, пожалуйста, проверьте документацию на https://github.com/angular-ui/ui-router/wiki/Quick-Reference#ui-sref

+0

'' page1 не собирается стр.1 – manish

+0

Рекомендуемая версия использует пользовательский интерфейс-sref. Href будет работать только с отключенным html5mode (см. Документы). Вы пробовали вариант ui-sref? –

+0

Отличный ответ! ajaegie, я хочу овладеть своими ионными знаниями. Где вы начали изучать структуру? ;) –

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