gpt4 book ai didi

angularjs - $state.go,页面上缺少元素,直到刷新

转载 作者:行者123 更新时间:2023-12-03 08:08:35 25 4
gpt4 key购买 nike

我正在使用 Ionic 和 AngularJS 构建一个应用程序,并使用状态来管理 View 。我有一个侧面菜单,可通过导航按钮访问。当切换到我的“主页”页面时,菜单在我刷新之前是不可见的!

在我的侧边菜单中,我使用 $state.go 包裹在 $timeout 中导航到不同的页面,它运行良好,但是在我的授权登录期间执行此操作时(例如:一旦 auth 移至 app.home)除非我刷新页面,否则该按钮不可见。

这样的问题似乎经常被问到,我已经尝试了我能找到的每一个解决方案;我尝试将 $state.go 包装在 $timeout 中,尝试使用 $state.transitionTo,尝试使用 $state.go(... {reload:true} 将 reload 设置为 true,并尝试使用 transitionTo 将 reload:true inherit:false . 没有什么能解决这个问题。我什至尝试重新设计我的工作流程以从不同的位置处理这个问题,但是无论我做什么菜单按钮都不会显示。

<ion-side-menus enable-menu-with-back-views="false">
<ion-side-menu-content>
<ion-nav-bar class="bar-stable">

<ion-nav-buttons side="primary">
<button class="button button-icon ion-navicon" menu-toggle="left">
</button>
</ion-nav-buttons>

</ion-nav-bar>
<ion-nav-view name="menuContent"></ion-nav-view>
</ion-side-menu-content>

<ion-side-menu side="left">
<ion-header-bar class="bar-stable">
<h1 class="title">Title!</h1>
</ion-header-bar>

<ion-content ng-controller="menuController">

<ion-list>
<ion-item nav-clear menu-close ng-click="navHome()">
Home
</ion-item>
...

$scope.navHome = function () {
$timeout( function() {
$state.go('app.home');
});
};

当从 ng-click 中单击时,上面的工作正常,但是在我的 loginController 中并在成功验证后执行的以下函数不起作用(菜单图标在我刷新页面之前不会显示)

    var _login = function() {
// do server side stuff
$timeout(function () {
$state.go('app.home');
});
};

** 更新 **我有一个解决方法,但我仍然想了解这里发生了什么,因为我认为这不是“正确”的方式。我移动了我的代码,以便加载 app.home,然后 state.go 到 app.login (菜单按钮不可见,这很好),然后当登录有 state.go 回到 app.home 菜单按钮再次出现。我想这是因为它被转换为离开和返回。

最佳答案

属性enable-menu-with-back-views<ion-side-menus>需要设置为真。

只要你没有<ion-nav-back-button></ion-nav-back-button>包含在 <ion-nav-bar> 中你不会看到后退按钮。如果您确实包含 <ion-nav-back-button>在您的<ion-nav-bar> ,您可以通过设置 hide-back-button="true" 来禁用每个状态在您的 <ion-view> .我发现 $timeout没必要。

关于angularjs - $state.go,页面上缺少元素,直到刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28142658/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com