0

ng-hide を使用して戻るボタンを非表示にし、必要なページに表示しています。app.js には、初期値を true に宣言している次のコードがあります。

var app = angular.module('myApp', ['ui.bootstrap', 'ui.router', 'ui.mask', 'ngSanitize', 'ngAnimate', 'input-digits', 'input-phone','dailyTips']).run(function ($rootScope) {
    $rootScope.hideNavBackBtn = true;
});

その後、戻るボタンを表示する各コントローラーで、値を次のように設定しています。

$rootScope.hideNavBackBtn = false;

しかし、前のページに戻ると、戻るボタンが表示されますが、これは発生しないはずです。値を false として宣言した特定のページに対してのみ、戻るボタンが表示されます。

この問題を修正するにはどうすればよいですか?

私の理解では、app.js は既に読み込まれているため、戻ってきても $rootScope の値は false のままです。私の理解が正しい場合、それを修正する方法は?

app.js ファイルの構成関数で、次のような異なる状態を宣言しました。

.state('home.overview', {
        url: '/overview',
        templateUrl: 'modules/Overview.html',
    })

これで、コントローラーを定義し、値をtrueに設定した場合。すると、戻るボタンが表示されなくなります。しかし、作成するすべての状態で $rootscope 値を定義する必要がありますが、これは実行可能なソリューションとは思えません。

4

1 に答える 1