$ stateParams不令人耳目一新。浪费了很多时间。需要帮助

时间:2015-09-11 23:30:31

标签: angularjs angular-ui-router ionic

我正在开发我的第一个应用程序。它工作得非常好,但现在我遇到了与$ stateParams相关的问题。

我正在开发一款需要登录和注销的应用。并有这种格式的网址:  '#/标签/简档/ {{用户id}}'

我有一个显示用户个人资料的标签。它应该从URL中读取ID,并呈现该用户。

如果我使用用户登录,则会正确呈现配置文件。但是当我退出然后与其他用户登录时,它仍会显示第一个用户配置文件。 $ stateProvider变量,它仍然具有先前的值。

我录制了这段简短的视频来解释我的问题。

https://youtu.be/d4U1j3gKKt4

以下是我的源代码。

这真让我疯狂。我该怎么办?非常感谢!

$stateProvider   
  // setup an abstract state for the tabs directive
  .state('tab', {
    url: '/tab',
    abstract: true,
    templateUrl: 'templates/tabs.html'
  })
  .state('tab.profile', {
    url: '/profile/:userIdInUrl',
    views: {
      'tab-profile': {
        templateUrl: 'templates/tab-profile.html',
        controller: 'ProfileCtrl'
      }
    }
  })

这是标签代码。如视频中所示,该值已正确更新:

  <!-- Profile Tab -->
  <ion-tab title="Profile" icon-off="ion-ios-person-outline" icon-on="ion-person" href="#/tab/profile/{{userId}}">
    <ion-nav-view name="tab-profile"></ion-nav-view>
  </ion-tab>

这是我的'ProfileCtrl'代码:

.controller('ProfileCtrl', function($http, $scope, $stateParams) {

  $scope.$on('$ionicView.enter', function(e) {      
    console.log('$stateParams:');
    console.log($stateParams);
  });

0 个答案:

没有答案