AngularJS - перейти к другому виду через $ state.go

0

Я использую Ionic Framework для создания одностраничного приложения для мобильных устройств. У меня есть структура на основе вкладок для страницы профиля. Внутри "Домашнего" представления у меня есть ссылка "Редактировать профиль" после щелчка, она должна перейти к editprofile.html через ProfileManagementController.js. Когда я нажимаю на него, ничего не происходит, и в консоли также не отображаются ошибки. Обновляется только адрес в адресной строке.

Вот код маршрута в app.js:

.state('editProfile', {
    url: '/editProfile',
    views: {
      'tab-editprofile': {
        templateUrl: 'templates/profile/editprofile.html',
        controller: 'ProfileManagementController'
      }
    }
  })

Здесь это привязка к профилю ProfileManagementController.js, относящаяся к этой функции:

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

Это форма HTMl для представления вкладки "Главная" (tab-home.html), в которой существует кнопка для перехода к редактированию профиля:

<div>
          Name: {{tempUserObject.name}} <br/>
          Friends: {{tempUserObject.totalFriends}}<br/>
          Mobile: {{tempUserObject.mobile}}<br/>
          Username: {{tempUserObject.username}} <br/>  
          <br/>
            <button ng-click="goToEditProfile('editProfile')" class="button">Edit Profile</button>

        </div>

Это URL-адрес изначально, когда я впервые попал на tab-home.html и после нажатия кнопки, которая не работает:

До: http://127.0.0.1:49259/index.html#/tab/home После: http://127.0.0.1:49259/index.html#/editProfile

Пожалуйста, помогите мне разобраться, что происходит с этой ссылкой. Я использовал $ state.go раньше в других местах, и он работает хорошо.

Обновление: добавлен editprofile.html.

<ion-view hide-nav-bar="false" title="Edit Profile">
    <ion-content padding="'true'" class="has-header">
        <div class="spacer" style="width: 300px; height: 87px;"></div>
        <div class="button-bar"></div>
        <h2>Edit Profile</h2>
    </ion-content>
</ion-view>
  • 0
    Работает ли изменение на относительный путь? т.е. ng-click="goToEditProfile('^.editProfile')"
  • 0
    @potatopeelings уже пробовал, и это не так
Теги:
ionic-framework

3 ответа

1

используйте это вместо изменения состояния.

 $location.path('/editProfile');

Не забудьте ввести $ location в функцию контроллера.

  • 0
    Ага сделал это сейчас и вводил местоположение, но не работал. Только URL-адрес изменен, как упоминалось ранее. $ state не проблема, поэтому $ location не является решением. Другие функции в том же app.js работали с состоянием
  • 0
    покажи свой код editProfile html
Показать ещё 8 комментариев
0

Поэтому я исправил вышеупомянутые проблемы с изменением маршрута в app.js следующим образом:

 .state('editprofile', {
    url: '/editprofile',
    templateUrl: 'templates/profile/editprofile.html',
    controller: 'ProfileManagementController'
  })
0

У вас есть состояние с именем "путь", определенное в вашем приложении app.js? Если не создать состояние с именем "путь" с шаблоном и контроллером, как и состояние "editprofile"

Ещё вопросы

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